![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 26
|
![]()
Есть процедура (которую мы пишем событии OnDrawCell)
Она нам закрасит ячейку 1/1 в красный цвет. procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (ACol = 1) and (ARow = 1) then begin StringGrid1.Canvas.Brush.Color := clRed; StringGrid1.Canvas.FillRect (Rect); StringGrid1.Canvas.TextRect (Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol,ARow]); end; {if} end; Вопросы: 1. Как написать процедуру, которая будет делать скажем тоже самое, только не при запуске программы, а только тогда , когда мы её будем вызывать сами, скажем нажатием кнопки. Всякие вложения вида: procedure TForm1.Button1Click(Sender: TObject); begin StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin end; Отчего-то не верны, хотя по логике вещей Мы нажатием кнопки Button1 пытаемся вызывать заранее заданную процедуру StringGrid1DrawCell end; |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ну если я правильно понял то например так:
Код:
Цитата:
Ибо OnDrawCell вызывается когда нужно для каждой видимой ячейки, а ты даже по кнопке вызвав этот обработчик обработаешь всего одну ячейку.
I'm learning to live...
Последний раз редактировалось Stilet; 01.08.2008 в 17:09. |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 26
|
![]()
Полученный код скопировал в новый проект.
Скомпилировал. Ошибок вроде никаких нету. Но и результатов тоже. Посмотрите пожалуйста. Я не понимаю почему неверна логика, что сначала мы задаём одну функцию (или процедуру) а потом могли бы её вызывать в другой процедуре... |
![]() |
![]() |
![]() |
#4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
2 Albert2008 - все работает
![]() ![]() Создавай 3 события в делфи, как тебе написали - и все работает ![]()
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с многомерными массивами в функции. Очередной вопос начинающего (#005) | Albert2008 | Компоненты Delphi | 14 | 13.08.2008 22:03 |
Procedure,function,Stringgrid (#004) Очередной вопрос начинающего. | Albert2008 | Компоненты Delphi | 4 | 01.08.2008 21:30 |
Stringgrid, cells[m,n] и двумерные массивы.(#002) Очередной вопрос начинающего. | Albert2008 | Компоненты Delphi | 4 | 28.07.2008 19:02 |
вопрос по php от начинающего | sleeper_Izh | PHP | 15 | 11.07.2008 10:19 |
Видимо очередной вопрос по БД... | Amaranth | Помощь студентам | 1 | 16.12.2007 00:56 |