Формирование "креста" в Таблице Значений на форме (7.7)

31.08.09

Разработка - Работа с интерфейсом

Пример подсвечивания активной строки и колонки в таблице значений. С возможностью имитации пиктограмм.

Скачать файлы

Наименование Файл Версия Размер
-
.1250150198 219,50Kb
245
.1250150198 219,50Kb 245 Скачать

Версия 3С от 28.08.2009 (продолжается подготовка к четвертой версии (см 75 коммент).

Иногда в больших таблицах с большим количеством строк и мелких колонок неудобно определиться в какой же все-таки строке и/или колонке находится активная ячейка.

Для работы необходим FormEx

Последняя версия здесь 97 релиз

Огромное спасибо АЛьФу за создание этой замечательной ВК и за море советов, данных им мне в процессе программирования.

Отдельное спасибо Шёпоту теней за саму идею создать эту разработку.

Большое спасибо Ёпрсту  и Che Burashka Сергею за советы и подсказки.

 

История версий:

1 от 13.08.2009. Самая первая. Отрабатывалось только событие ПриОтжатииЛевойКнопки мыши.

2 от 14.08.2009. Новые фичи, новые глюки :-)

3 от 18.08.2009. Возможность имитации пиктограмм с помощью работы со шрифтами.

3A от 19.08.2009. Устранение глюков и существенное ускорение скорости работі. Добавлена возможность интерактивного выбора цвета для раскрашивания таблицы с предварительнім просмотром на вспомогательной ТЗ.

3B от 25.08.2009. Возможность интерактивного просмотра символа для пиктограмм и случайное заполнение при формировании ТЗ. С использование внешнего объекта MSScriptControl.ScriptControl (по идее, есть во всех Windows, начиная с 2000)

3C от 28.08.09.  Убран лишний код. И даже тот, без которого, казалось, не должно работать Smile

См. также

1С:Фото номенклатуры 7.7 - решение для работы с фотографиями номенклатуры в 1С:7.7 (включая формат PNG)

Работа с интерфейсом Логистика, склад и ТМЦ Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

5000 руб.

18.10.2022    5159    1    45    

3

WebЦвета для 1с77 FormEx

Инструментарий разработчика Работа с интерфейсом Платформа 1С v7.7 Абонемент ($m)

Обработка с фрагментами кода для программного использования набора цветов из коллекции WebЦвета 1с версии 8+ в 1с версии 77. Требуется предварительное подключение сторонней библиотеки FormEх. Будет полезно программистам 1с 77, 1с 8. Да и вообще при программировании на любом языке при потребности использовать коллекцию цветов WebЦвета.

1 стартмани

30.03.2022    4543    2    igor7777    4    

5

К привязкам элементов форм (1С 7.7, FormEx)

Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Публикация имеет цель обратить внимание на возможность улучшения интерфейса.

15.12.2021    4465    62    Cерый    13    

6

Выбор цвета для 1С 7.7

Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020    7024    3    vap_pig    5    

3

Производственный календарь для 1С 7.7

Учет рабочего времени Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработка производственного календаря с возможностью импорта и экспорта xls для 1С 7.7 (7.70.027) без изменения конфигурации.

1 стартмани

18.09.2019    12580    6    Jill    8    

3

Альтернативная обработка "Выбор периода"

Работа с интерфейсом Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Альтернативная обработка ввода периода для 1С 7.7.

1 стартмани

27.03.2019    6588    3    v.a.n-    11    

2

Несколько табличных частей в 1С:7.7 - это просто

Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    22420    27    Gkmy    11    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. СССР 13.08.09 12:08 Сейчас в теме
А цвет креста можно как-то менять ?
2. Altair777 644 13.08.09 12:11 Сейчас в теме
(1) Ага :-)

Процедура Приоткрытии()
ЦветТекущий="(BRUSH["+глПолучитьЦвет(255,255,153)+"])";

Подходящие значения можно найти, например, здесь http://www.artlebedev.ru/tools/colors/
4. Ёпрст 1063 13.08.09 12:17 Сейчас в теме
Сервис<<?>>.ВключитьРаскраскуТаблиц(1);
{\KRESTTZ.ERT(94)}: Переменная не определена (Сервис)
5. Altair777 644 13.08.09 12:20 Сейчас в теме
(4) Сенкс за замечание. Она в Глобальнике прописана.
Ладно. Пропишу все :-)
10. Altair777 644 13.08.09 12:33 Сейчас в теме
+(5) Обновил :-)

+(9)
С запаздыванием на 1 клик я боролся. И спрашивал советов. Но... не получил.
Поэтому пришлось делать именно ПриОтжатииЛевойКнопки()
3. Altair777 644 13.08.09 12:15 Сейчас в теме
Перезалил.
Вставил в обработку функцию из Глобального модуля глПолучитьЦвет.
6. Ёпрст 1063 13.08.09 12:21 Сейчас в теме
Нажимаем стрелочки.. наблюдаем:
http://s39.radikal.ru/i083/0908/57/eb60e614d6c0.jpg

Не комильфо.
СССР; +1 Ответить
9. Altair777 644 13.08.09 12:29 Сейчас в теме
(6),(8) Не комильфо как раз ПриНажатииЛевойКнопки()
11. Ёпрст 1063 13.08.09 12:33 Сейчас в теме
(9) Это еще почему ?
Приятнее сразу видеть результат, а не потом...
12. Altair777 644 13.08.09 12:40 Сейчас в теме
(11) А ты сам попробуй :-)
Запаздывание на один клик.
И дай совет как побороть ;-)

P.S. Это моя первая более-менее серьезная разработка с применением FormEx'а.
До этого я только строки подсвечивал в журналах и списках справочников.
P.P.S. С радостью научусь чему-то новому. :-)
13. Ёпрст 1063 13.08.09 12:46 Сейчас в теме
(12) В лёгкую:

Перем РасшФ;

Процедура ПослеОткрытия()
.........
РасшФ=СоздатьОбъект("РасширениеФормы");
РасшФ.УстановитьФорму(Форма);
......
КонецПроцедуры

Процедура ПриНажатииЛевойКнопки(Сост,Х,У,ФСО)
РасшФ.УстановитьТекущуюЯчейку("ТЗ", Х, У);
Отрисовка();
КонецПроцедуры
Процедура ПриДвиженииМыши(Сост,Х,У,ФСО)
Если Сост=1 Тогда
РасшФ.УстановитьТекущуюЯчейку("ТЗ", Х, У);
Отрисовка();
КонецЕсли;
КонецПроцедуры

+ //Форма.Обновить() в Функция Отрисовка()
Altair777; +1 Ответить
15. Altair777 644 13.08.09 13:05 Сейчас в теме
(13),(14) Спасибо!
Перезалил. Но при ПриНажатииКнопкиКлавиатуры опаздывает.
А как там УстановитьТекущуюЯчейку?

Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО)
Если (КодКлавиши>32) и (КодКлавиши<41) Тогда
Отрисовка();
КонецЕсли;
КонецПроцедуры
20. Altair777 644 13.08.09 18:13 Сейчас в теме
+(15) Можно попытаться вычислить реальную активную ячейку.
Но... для PageUp и PageDown это затруднительно(?).
7. Шёпот теней 1779 13.08.09 12:22 Сейчас в теме
... рАзумному - разУмное - сила ...
... НЕразумному - разУмное - глупОсть ...
... рАзумному - НЕразумное - игрА ...
... Неразумному - НЕразумное - безСмысленно ...

... однАко СИЛА ...

... вОт ...
8. Ёпрст 1063 13.08.09 12:22 Сейчас в теме
И лучше красить в ПриНажатииЛевойКнопки, чем в ПриОтжатииЛевойКнопки
14. Ёпрст 1063 13.08.09 12:48 Сейчас в теме
+ Нужно добавить аналогично в ПриНажатииПраавойКнопки +
в ПриДвиженииМыши добавить условие на Сост +
ПриНажатииКнопкиКлавиатуры "пасти" стрелочки..
Altair777; +1 Ответить
16. CheBurator 3119 13.08.09 17:51 Сейчас в теме
Ребята, вы что - тормоза? ;-)
ЦветТекущий="(BRUSH["+глПолучитьЦвет(255,255,153)+"])";
- пишите проще: ЦветТекущий="(BRUSH["0xFFFFCC"])";
19. Altair777 644 13.08.09 18:05 Сейчас в теме
(16) проще для кого? :-)

(17) между прочим, некоторые удтверждали, что это вообще почти невозможно :-) Или будет связано с большими затратами.
И не крест перерисовывается, а перезаполняется значение колонки в ТЗ.
А что будет при свертке и максимазации окна?
И как отследить видимые строки/колонки?
21. CheBurator 3119 13.08.09 18:43 Сейчас в теме
(19) хорошо... нафига мне перезаполнять всю таблицу по координатам креста, если в данный момент я вижу около 0.1% этой таблицы?
(18) ТП или не ТП - это мну не волнует.. ;-) я показал автору на явную несуразность.. как он ее устранит и устранит ли вообще - меня вообщем-то не волнует... но на всякий случай я запомню.. ;-)
24. Altair777 644 13.08.09 18:53 Сейчас в теме
(21) Еще не знаю как получить видимые строки.
А смысл? Сколько строк должно быть В ТЗ, что бы стало заметно торможение?
На 1'000'000 не тормозит.

(22) это описано в (15). Жду советов ;-)
26. CheBurator 3119 13.08.09 19:14 Сейчас в теме
(24) то что это описано в 15 - мну это не волнует.. крест должен выделять активную ячейку. по факту: крест не выделяет активную ячейку - итого: обработка неработоспособна. Что у нас полагается за выкладывание неработоспособных обработок...? ;-)
.
ТЗ.ВидимостьКолонки("1",0); - прячешь колонку подкраски
ТЗ.Фиксировать(0,1); - фиксируешь колонку с номерами строк, а выше - ее определяешь и заполняешь... - нафига?
.
> P.S. Я и не утверждаю, что все знаю :-)
- а я это констатирую! ;-)
31. Altair777 644 13.08.09 19:38 Сейчас в теме
(26) > фиксируешь колонку с номерами строк, а выше - ее определяешь и заполняешь... - нафига?

Для красоты :-) И не только. Нафик нужен крест, если непонятно к какому значению строки он относится?

(27) >обрисуйте тогда строго область применимости ;-)

Да где угодно :-) см (0)
"в больших таблицах с большим количеством строк и мелких колонок"

(28) > почему бы отрисовку не бросить на форму как функцию?

Смешно... Если строка не поменялась, то функция не срабатывает. :-)
Это даже я знаю!

(29) А вот за это спасибо!
"Я не волшебник. Я только учусь"
27. CheBurator 3119 13.08.09 19:15 Сейчас в теме
(24) > Сколько строк должно быть В ТЗ, что бы стал...
- вот такие и пишут уппырища всякие... ;-) обрисуйте тогда строго область применимости ;-)
29. СССР 13.08.09 19:24 Сейчас в теме
(24) "(21) Еще не знаю как получить видимые строки."

старым дедовским способом.
Посмотри сколько отображается на самом большом разрешение экрана
в ширину видно 86 по горизонтали 122 (просто к примеру)
и не нужно все 10000 прорисовывать
(тупо рисуй 150 на 150 и то быстрее будет)

Формекс позволяет определять разрешение экрана (хотя здесь оно не к чему)
30. CheBurator 3119 13.08.09 19:28 Сейчас в теме
(29) +1!
(28) проблема только в одном - в отлове изменения текущей ячйки - но это задача известная и решаемая...
17. CheBurator 3119 13.08.09 17:58 Сейчас в теме
бяка.. тупое решение в лоб. Зачем перерисовывать крест для строк-колонок не отображаемых в данный момент на экране...?
18. Ёпрст 1063 13.08.09 18:05 Сейчас в теме
(17) Это вам не табличное поле..
При скролинге/разворачивании, как ловить предлагаешь видимые строки/столбцы ?...

Вот в форме списка справочника,например, можно запросто отследить только видимые на экране элементы...
22. CheBurator 3119 13.08.09 18:46 Сейчас в теме
автору - двойка! при листании курсором - подкраска запаздывает на 1 позицию!
23. CheBurator 3119 13.08.09 18:50 Сейчас в теме
а это что за бред? ;-)
ТЗ.Фиксировать(0,1);...????
автор не знает про ТЗ.ВидимостьКолонки("НомерСтроки",1);...?????
25. Altair777 644 13.08.09 18:56 Сейчас в теме
(23) Почему это бред?
При чем тут фиксация и видимость? Найди отличие ;-)

ТЗ.ВидимостьКолонки("1",0);
ТЗ.Фиксировать(0,1);

P.S. Я и не утверждаю, что все знаю :-)
28. CheBurator 3119 13.08.09 19:21 Сейчас в теме
ПриНажатииКнопкиКлавиатуры() у тебя обеспечивает отрисовку. Отрисовка у тебя осуществляется ПО СТАРЫМ КООРДИНАТАМ!! всего-то надо учесть клавиша какого движения нажата - к началу или концу ТЗ.
..
попутный вопрос: почему бы отрисовку не бросить на форму как функцию? тогда отрисовка будет выполняться по новым координатам...
32. CheBurator 3119 13.08.09 19:41 Сейчас в теме
кстати, куда высылать исправленный рабочий вариант обработки?
забрать его можно отсюда: http://slil.ru/27899500
. и на 20 тыс строк - притормаживание является уже существенным
Rusk51; Altair777; СССР; +3 Ответить
38. СССР 13.08.09 19:56 Сейчас в теме
(32) ЧЕловек спасибо что выложил це штуку.
А надо только Отрисовку() отключать при формирование НОВОЙ ТЗ
а то такая шняга получается- тормоза и визуально не очень красиво.
Лучше наверное будет создать ТЗВр - виртуальную а потом махом выгрузить в ТЗ а не заполнять ее сразу на форме с отрисовкой

33. CheBurator 3119 13.08.09 19:42 Сейчас в теме
> Нафик нужен крест,
// блин, чтобы отобразить номера строк достаточно
ТЗ.ВидимостьКолонки("НомерСтроки",1) - и все!
а то отсортируют твою ТЗ - я посмотрю на красивые номера строк
37. Altair777 644 13.08.09 19:54 Сейчас в теме
(33) А если там не номер? А реальные значения? Это только пример....
ТЗ.НоваяСтрока();
ТЗ.Строка="Строка "+ИндСтрок;

(32) сенкс!!! Уже проверил, кажется работает.
Но сейчас нет времени разбираться. Код посмотрю позже.
Научусь чему-то новому :-)
34. CheBurator 3119 13.08.09 19:43 Сейчас в теме
> Смешно... Если строка не поменялась, то функция не срабатывает. :-)
Это даже я знаю!
- ну не знаю... у меня вроде все отрабатывает... смотри выложенную обработку...
35. Altair777 644 13.08.09 19:46 Сейчас в теме
про 1кк строк я поторопился....
36. CheBurator 3119 13.08.09 19:52 Сейчас в теме
спакуха.. ща работаю над мгновенным заполнением 1кк строк...
39. CheBurator 3119 13.08.09 20:01 Сейчас в теме
При формировании новойТЗ - это частность... для ускорения - на время формирования ТЗ - ее видимость д.б.=0 - ускоряет заполнение ТЗ на форме на порядки...
40. CheBurator 3119 13.08.09 20:24 Сейчас в теме
про всякие неряшливости программирования (что настояшему мастеру дзен недопустимо) - как-то срабатывание позиционирование креста при тыкании мышкой в области/атрибты за пределами ТЗ - я молчу...
.
в итоге, конечно, ндо бы минус влепить...
41. CheBurator 3119 13.08.09 20:24 Сейчас в теме
а если автору провести опыт по использованию вместо цикла ТЗ.УстановитьЗначение быстрый метод ТЗ.Заполнить...
42. CheBurator 3119 13.08.09 20:46 Сейчас в теме
последний подправленный вариант: http://slil.ru/27899647
RinGo; w-divin; Pari; +3 Ответить
43. CheBurator 3119 13.08.09 20:49 Сейчас в теме
44. Ish_2 1104 13.08.09 21:15 Сейчас в теме
Отвечаю автору-семерочнику из темы "Активный крест в табличном документе".

Сравнение выделения "крестом" в 8-ке и в 7-ке было бы корректно , если бы в текущей теме использовался объект "Таблица" , аналог табличного документа в 8-ке.
По утверждению vip'a :
Компонента "TableDoc расширяет возможности таблицы в 7.7 (в 8.х аналог видимо табличный документ?) до немысленных высот."

Вот и хотелось посмотреть.. Не удалось.
Формексом никогда не пользовался.
С приветом, 8-ник.
46. JohnyDeath 301 13.08.09 22:05 Сейчас в теме
(44) Опередил немного. Я тоже не понял автора, почему он выбрал для "креста" ТЗ на форме.
Как правтльно говоришь, есть TableDoc и есть Yoksel. Первый проект - как бы надстройка над мокселем 1С, второй - новый табличный документ. В обоих есть событие "ПриАктивизацииЯчейки/АктивизацияЯчейки". Имея эти события, нарисовать что-либо в соседних (и не только) ячейках, думаю, не составит труда.
47. Ish_2 1104 13.08.09 22:13 Сейчас в теме
(46)
"Имея эти события, нарисовать что-либо в соседних (и не только) ячейках, думаю, не составит труда."

Казалось бы, бесспорно.
Но в 8-ке это не так и реализация выделения произвольной области больше походит на некий программный "выверт"(ухищрение) , чем на обычный приём. Поэтому нигде , насколько мне известно, такое выделение ранее не применялось.
45. Ish_2 1104 13.08.09 21:20 Сейчас в теме
Тем более там речь шла о форме выделенной фигуры как функции от координат активной ячейки.
48. Altair777 644 14.08.09 09:55 Сейчас в теме
to CheBurator
Большое спасибо!

Надо понимать, что это не готовая программа, а алгоритм, пример программирования. С большими недостатками, это я понимаю.
Но... я пытаюсь. Что-то делаю. А сколько асов даже не пробовали сделать нечто подобное. Эх.. ваши бы умения для этого, а не мои скромные познания.

И я выложил эту разработку не для того что бы себя показать, а что бы на других посмотреть. Научиться чему-то новому, полезному.
Не только для себя, но и для других.
49. CheBurator 3119 14.08.09 10:37 Сейчас в теме
(48) то есть, так сказать, на живца... я с тобой - в Африку не поеду! ;-)
50. Altair777 644 14.08.09 10:56 Сейчас в теме
(49) Ну что ты? :-) Я тебе очень благодарен!
Вот скажи по совести... Интересная вещь получилась? Пригодится в хозяйстве?

И, кстати, я обновил версию...
51. CheBurator 3119 14.08.09 11:03 Сейчас в теме
(49) не пригодится... потому что огромные ТЗ для визуального наблюдения нужны ОЧЕНЬ редко.
.
при обновлении - описание сохранил? ;-)
53. Altair777 644 14.08.09 11:10 Сейчас в теме
(51) А почему огромные? А 300 на 50 это как... маленькая? :-)
(52) Вот теперь я смогу и сам :-) Опыта прибавилось.
52. Ёпрст 1063 14.08.09 11:06 Сейчас в теме
Не добавлено условие везде, что активный элемент - ТЗ и именно нужная..
Не добавлено условие в ПриДвиженииМыши, что зажата правая клавиша..
Ну и не работают стрелочки как надо..
Дорабатывай..
:)
56. Altair777 644 14.08.09 12:04 Сейчас в теме
Обновил

(52) Про несколько ТЗ на форме я уже думал...
Но на практике. Если их несколько, значит они небольшие. И им "крест" особо не нужен. Но все равно сделаю. Чуть позже.
54. Altair777 644 14.08.09 11:25 Сейчас в теме
(54) упс... хотел скриншот обновить, а что-то глючит.
55. Altair777 644 14.08.09 11:45 Сейчас в теме
Нашел новый глюк :-)
После нажатия Tab прорисовка вообще ни разу больше не срабатывает.
57. CheBurator 3119 14.08.09 18:53 Сейчас в теме
(55) опять решить за вас эту задачу?
58. Арчибальд 2706 14.08.09 18:57 Сейчас в теме
(57)Взялся за гуж - полезай в кузов.
59. Altair777 644 14.08.09 18:59 Сейчас в теме
(57) Я сам :-)
Обработка уже сильно обновилась, но пока не выкладывал.
Есть интересный вариант поиграться со шрифтами. Для определенных целей ;-)
62. CheBurator 3119 15.08.09 02:06 Сейчас в теме
(59) мдя.. дорвался человек до Формекса... - ты в нем лучше на другие возможности посмотри - свежий взгляд он всегода неожиданные идеи выдает...
68. Altair777 644 17.08.09 11:00 Сейчас в теме
(62) Я еще не дорвался... я только начинаю ;-)
(63) Спасибо! :-)
(64) Меняется фон ячейки таблицы. Т.е. это выделение чисто визуальное.
60. Rusk51 88 14.08.09 19:29 Сейчас в теме
Всё пучком. Плюс обоим. А я на море :)
61. Altair777 644 14.08.09 19:46 Сейчас в теме
(60) Спасибо!

"Ты где? А я на море" :-) (с) реклама МТС-Украина
63. СССР 15.08.09 18:38 Сейчас в теме
а меня и не вспомнил (((
64. Ish_2 1104 15.08.09 21:25 Сейчас в теме
Вопрос : правильно ли я понял , что в текущей обработке "крест" просто закрашивается другим цветом ?
И тогда , если две ячейки имеют до выделения разный цвет , то после выделения будут иметь одинаковый (желтый).
Если это так , то
осмелюсь заметить , что выделение ячеек - это не закрашивание другим цветом. Это именно - выделение.
Т.е. если до выделения две ячейки имели разный цвет , то после выделения
они различаются по интенсивности выделения (яркости).
СССР; +1 Ответить
65. СССР 16.08.09 22:28 Сейчас в теме
(64) Он же написал - что УЧИТСЯ ! Эта обработка НЕ ИМЕЕТ ПРАКТИЧЕСКОГО применения.
71. Altair777 644 17.08.09 15:37 Сейчас в теме
(65) А какое практическое применение может быть у АЛГОРИТМА? :-)
Вот когда это кто-то вставит в свою обработку, тогда и появится применение.
66. CheBurator 3119 17.08.09 03:50 Сейчас в теме
(64) > Т.е. если до выделения две ячейки имели разный цвет , то после выделения они различаются по интенсивности выделения (яркости).
- это не столь существенно, гораздо важнее чтобы при уходе креста с ячеек - они были зарисованы так, как до попадания креста на эти ячейки...
67. Ish_2 1104 17.08.09 03:54 Сейчас в теме
(66)

1.Существенно или нет .. Так всё-таки выделяется или закрашивается ?

2. "важнее чтобы при уходе креста с ячеек - они были зарисованы так, как до попадания креста на эти ячейки..."
Если это условие не выполняется , тогда о чем разговор .. ?
69. CheBurator 3119 17.08.09 11:04 Сейчас в теме
автор, а в (66) - - это не столь существенно, гораздо важнее чтобы при уходе креста с ячеек - они были зарисованы так, как до попадания креста на эти ячейки...
- ????
70. Altair777 644 17.08.09 11:27 Сейчас в теме
(69) Да. Цвет фона у них такой же.
Это и по коду понятно.
ЦветНеТекущий="BRUSH["+глПолучитьЦвет(255,255,255)+"]";
72. CheBurator 3119 18.08.09 12:07 Сейчас в теме
(70) неееет! в раскраске таблицы ты не анализируешь какими цветами были нарисованы ячейки на том месте где прошелся крест и после ухода креста - восстанавливаются общие значенияЮ а не те которые были до этого...
или я не прав...
73. Altair777 644 18.08.09 12:29 Сейчас в теме
(72) после первого прохода все закрашены этим цветом.
По крайней мере, первые Мин(ТЗ.КоличествоСтрок(),301) :-)
74. Altair777 644 18.08.09 12:53 Сейчас в теме
(72) Или есть предложение сделать ТЗ многоцветной? :-)
Но у ячейки не может быть более одного цвета фона? Или я не прав... ;-)

И если по какому-то условию у этой ячейки должен быть определенный цвет, то какая разница, какой он был до этого?
75. CheBurator 3119 18.08.09 14:40 Сейчас в теме
вот смотри, допустим есть большая ТЗ на форме, основной фон как обычно - белый. И есть допустим область ячеек, которая закрашена в зеленый цвет - ну типа какая-то зона. по ТЗ бегает желтый крест, после того как он пробежится и уйдет из зеленой зоны - какой фон будет у ячеек "зеленой зоны"...?
76. Altair777 644 18.08.09 15:08 Сейчас в теме
(75) Если эта зона была закрашена в зеленый цвет, то, наверно, по какому-то условию.... по результатам выполнения некой функции.
И тогда при отрисовке "креста", результат этой функции должен повлиять и на их раскраску. Но... это выходит за рамки данной обработки.
Хотя, все возможно. :-)

Версия номер 3 выложена! ОГРОМНОЕ спасибо АЛьФу!
77. CheBurator 3119 18.08.09 16:03 Сейчас в теме
(76) произвольная закраска могла быть сделана в момент формирования таблицы, так что конечно желательно запоминать и восстанавливать - это было бы ваще... ;-)
.
а что нового в 3 версии?
80. Altair777 644 18.08.09 16:12 Сейчас в теме
(77) сделаю в 4-ой версии :-)
Уже придумал как.

Нового? Пиктограммки (работа со шрифтом, как я и намекал в (59) :-)
83. CheBurator 3119 18.08.09 16:18 Сейчас в теме
(80) по (77) - ну если сможешь - то ок.. потому как вообщем-то надо 1. определить закрашенную область и восстановить - а вот куда при восстановлении писать нужную раскраску.... ;-)
.
кстати, раз уж формекс - а вы тестировали обработку на ТЗ, с расположением строки в несколько "строк"...? а, батенька?
85. Altair777 644 18.08.09 16:24 Сейчас в теме
(83) а зачем ее писать куда-то? Ее можно перевычислить по функции, по кторой она изначально была закрашена.

Неа, не тестировал.... Да я и с такими-то строками не работал :-(
79. Ёпрст 1063 18.08.09 16:10 Сейчас в теме
(76) в ПриНажатииЛевойКнопки явный вызов Отрисовка() - лишнее...
81. CheBurator 3119 18.08.09 16:16 Сейчас в теме
(79) в исправленой РАБОЧЕЙ версии, которую я ему отослал - там это я заремил...
84. Altair777 644 18.08.09 16:20 Сейчас в теме
(81) Там не отрабатывался Tab, F3 и Enter(?). Поэтому.. не совсем она была и рабочая... :-)
Но! Сильно продвинула меня в дальнейшем.
86. CheBurator 3119 18.08.09 16:25 Сейчас в теме
(84) ну, товагищи! жевать уж сами как нибудь... тем более, что она хотя бы заявленную функцию выполняла - крест двигала... и крест по таблице не елозила когда мышью за пределами ТЗ тыкаешь.. так что работайте!
.http://www.cm.ex.by/uploads/posts/1176195919_work_niggers.jpg
87. Altair777 644 18.08.09 16:28 Сейчас в теме
(86) Спасибо за пожелание! :-)
Я и работаю... дорабатываю...
78. CheBurator 3119 18.08.09 16:04 Сейчас в теме
Лучше бы такой крест в мокселе отрисовывался... ;-)
82. Altair777 644 18.08.09 16:16 Сейчас в теме
(78) Че... ты хочешь что б я и туда дорвался? (см 62) :-)
Но мысль такая была....

(79) Возможно, и так. Код менялся настолько быстро, что пока не отпимизирован. Спасибо.
88. CheBurator 3119 18.08.09 16:28 Сейчас в теме
> Ее можно перевычислить по функции
- угумс.. как же... придется тянуть пару тысяч строк допустим для обеспечения такого функционала - негламурно!!! ты вот "вычисли" ближайший браш по вертикали/горизонтали и считай оттуда отрисовку...
90. Altair777 644 18.08.09 16:39 Сейчас в теме
(88) А если условия сложные? Область не одна?
Типа, закрасить ячейки, у которых сумма строки и столбца делится ммм...... на 7 :-)

(89) в самой первой версии функция Отрисовка срабатывала меньше, чем за 0,004 сек. Где-то в хистори аьки есть замер производительности.
91. Ёпрст 1063 18.08.09 16:49 Сейчас в теме
(90) открой диспетчер задач и поводи мышой туда сюда... удивись.
93. Altair777 644 18.08.09 17:12 Сейчас в теме
(91) Да, удивился...
(81) После нажатия не клавиш перемещений курсора, отрисовка блокируется... совсем...
94. CheBurator 3119 18.08.09 17:20 Сейчас в теме
(93) по (81) Все, снайпер прицелился! Пригибайся!
95. Altair777 644 18.08.09 17:21 Сейчас в теме
(94) Этоя уже исправил :)
И обновил ert
92. CheBurator 3119 18.08.09 16:52 Сейчас в теме
(90) да пофиг какой сложности условие!! я имею разукрашенную ТЗ - и не знаю по каким условиям. зато знаю координаты строки-столбца (набора) где будет крест - вот и считаю оттуда раскраску...
89. Ёпрст 1063 18.08.09 16:30 Сейчас в теме
Вообще, решение с постоянным обновлением формы не совсем удачное- грузит проц не по-детски..
96. Altair777 644 19.08.09 14:11 Сейчас в теме
Новая версия!
Кажется, мне удалось побороть несколько старых глюков и существенно ускорить быстродействие.
97. Altair777 644 25.08.09 13:30 Сейчас в теме
Еще одна новая версия - 3B :-)
Обновлено описание программы, добавлена историй версий.
98. Ёпрст 1063 28.08.09 12:18 Сейчас в теме
А нафик там цвет выделения ?
И еще левая кнопка.. ?
99. Altair777 644 28.08.09 17:30 Сейчас в теме
(98) > А нафик там цвет выделения ?
Это подготовка к 4 версии :-)

Ой, кнопка и правда "левая". Это я проверял разные варианты генерации случайных чисел.

перезалил....
Оставьте свое сообщение