Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение цвета ячейки в StringGrid при заполнении таблицы [D7, XP]


Страницы:   1 2

Basilisk ©   (2011-04-05 13:20:00) 

Вывожу решения своей задачи в StringGrid. Необходимо закрасить каким-нибудь цветом ячейки с оптимальным решением. То есть в одной строке только одна ячейка должна быть закрашена.

Как это реализовать?


novichek   (2011-04-05 13:45:00) [21]

StringGrid.Repaint ни в коем случаи!


novichek   (2011-04-05 13:44:00) [22]

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
 if ACol=0 then  // закрашиваем первую ячейку в строке
 begin
    stringGrid1.Canvas.Brush.Color:= clGray;
    stringGrid1.Canvas.FillRect(rect);
 end;

end;


Basilisk   (2011-04-05 13:43:00) [23]

а при этом надо использовать StringGrid.Repaint????


И. Павел   (2011-04-05 13:30:00) [24]

> а как событие с нажатием клавиши связать?

Событие (OnDrawCell для StringGrid) нужно задать в инспекторе объектов (перейти на вкладку "Events" и там дважды щелкнуть левой кнопкой мыши на соответствующем событии, чтобы создался обработчик к нему).

А что должно происходить при нажатии клавиши? Если только после нажатии клавиши должен разукрашиваться StringGrid, то просто создайте переменную colored = false, а в обработчике клавиши присвойте ей true. А в OnDrawCell проверяйте: если colored = true, то разукрашивайте.


Basilisk   (2011-04-05 13:24:00) [25]

а как событие с нажатием клавиши связать?


И. Павел   (2011-04-05 13:21:00) [26]

Используйте событие OnDrawColumnCell:
http://delphi-faq.zoxt.net/192.htm


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо