IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Вызов события, OnDrawCell
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Мужской
Реальное имя: Сергей

Репутация: -  2  +


В общем я хочу чтобы у меня после какого-то действия вызывалась процедура OnDrawCell для StringGrid'a.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);

Подскажите пожалуйста как можно эту процедуру вызвать из какого-либо участка кода?


--------------------
♣♣♣
"Себя великим не считай, гордясь величьем предков,
Величья не добудешь ты и золота ценою!
Хоть светит на небе луна, но отраженным светом -
Чужою славой не живи, не будь второй луною!!!"
♣♣♣
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Как я понял OnDrawCell для этого лучше не использовать? И можно ли каким-либо другим способом рисовать в ячейках StringGrid?
Похоже, ты не понимаешь основ событийного программирования.

Смотри: для того, чтобы рисовать в ячейке Грида, нужно определить обработчик события OnDrawCell. Но вот когда это событие произойдет - не от тебя зависит. Оно произойдет тогда, когда система должна будет перерисовать ячейку. То есть, провел ты над своей программой окно блокнота, когда твое окно снова стало видимым - ячейки должны перерисоваться. Тогда происходит событие, которое вызывает обработчик, написанный тобой. Понимаешь? Не ты вызываешь что-то, а операционная система, зная, что участок окна был невидимым, а потом опять стал видимым, решает: "чтобы не потерять содержимое окна, надо его перерисовать", и делает то, что нужно для этого. Среди прочих действий системы вызывается и определенное тобой в OnDrawCell действие.

То есть, для того, чтобы инициировать перерисовку ячеек, тебе надо действовать другими методами, а не прямым вызовом обработчика OnDrawCell...

Еще раз: Что именно ты хочешь рисовать, и при каких именно (слово "определенных" меня не устраивает, чтобы дать тебе ответ, я просто не смогу ничего посоветовать) условиях ячейки должны перерисовываться, и как именно перерисовываться?
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Сергей Меркурьев   Вызов события   27.06.2010 22:21
Unconnected   Ну так и вызываешь, form1.StringGrid1DrawCell(Send…   27.06.2010 22:35
Сергей Меркурьев   Так ему Sender не нравится... Пишет следующее [Err…   27.06.2010 22:37
volvo   Налицо ошибка проектирования. Событие не должно вы…   27.06.2010 23:40
Сергей Меркурьев   Что касается видимости ячеек, то этого у меня не п…   27.06.2010 23:52
volvo   Похоже, ты не понимаешь основ событийного программ…   28.06.2010 0:32
Сергей Меркурьев   Хорошо объясню ситуацию по конкретнее. Спасибо что…   28.06.2010 0:41
volvo   Не использовать StringGrid для работы с изображени…   28.06.2010 3:35
Сергей Меркурьев   Вы везде употребляете слово "автоматически…   28.06.2010 13:47
Unconnected   Ну наверное имелось в виду при запуске программы с…   28.06.2010 15:46
volvo   Когда я говорю "автоматически" - подразу…   28.06.2010 16:03
Сергей Меркурьев   Действительно, оказывается всё настолько просто :)…   28.06.2010 19:04
Client   Думаю, что этот обработчик надо установить для все…   28.06.2010 20:18
volvo   Комментарии к коду читал? Там все написано. А во …   28.06.2010 21:15
Сергей Меркурьев   Спасибо!   28.06.2010 21:37
Сергей Меркурьев   А вот еще один вопрос по поводу первых процедур - …   30.06.2010 20:34
volvo   Ну, например, написать вот такую вот функцию: // …   30.06.2010 20:56
Сергей Меркурьев   А как сделать обмен таких изображений, зная коорди…   30.06.2010 22:34
Client   А что ты делаешь если надо поменять 2 переменные ц…   30.06.2010 23:00
Сергей Меркурьев   b1 := arrPanels[x,y].Components[0] as TImage; …   30.06.2010 23:03
Client   свойство Picture тоже поменяй   30.06.2010 23:20
volvo   Этого недостаточно. Такой способ сработает только …   30.06.2010 23:39
Сергей Меркурьев   volvo, в общем-то я затрудняюсь ответить на Ваши в…   1.07.2010 12:42


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.04.2024 4:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name