Вниз
Скачать: CL | DM;

Ошибка в Delphi?   Найти похожие ветки 

← →
qweqewqe   (2003-02-02 18:06) [0]

Привет всем!Нужно изменить цвет ячейки при нажатии на нее.Т.е. пользователь кликгул на ячейке ее цвет изменился (например на красный) и остался красным,ПОКА ОН НЕ КЛИКНЕТ НА НЕЕ ВТОРОЙ РАЗ (т.е. он остается красным ДАЖЕ при переходе на другую ячейку)!!!!
Пусть Edit1 это некоторое текстовое поле.Я пишу:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
If edit1.Text="1" then begin
StringGrid1.Canvas.Brush.Color:=clred;
StringGrid1.Canvas.FillRect(Rect);
End;
end;

Все работает нормально!Но,посмотрите что получается,при попытке прокрутить Stringgrid (когда много столбцов или строк)-вся таблица окрашивается в красный цвет.А мне нужно чтобы только выделенная(st) ячейки окрашивались красным цветом.Как это сделать?


← →
Palladin ©   (2003-02-02 19:39) [1]

дык ты закрашивай не все ячейки, а только ту на которой курсор...


← →
Набережных С.   (2003-02-02 20:16) [2]

Конечно, в Delphi. Снеси ее и не ставь больше никогда.


← →
Eugene1501   (2003-02-02 20:25) [3]

Попробуй так:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol,
Row: Integer; Rect: TRect; State: TGridDrawState);
begin
if (Edit1.Text="1")and(ACol=XXX)and(ARow=YYY) then
begin
StringGrid1.Canvas.Brush.Color:=clred;
StringGrid1.Canvas.FillRect(Rect);
end;
end;

где XXX и YYY координаты твоей ячейки.




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.018 c
4-29170
stas kalishenko
2002-12-28 17:52
2003.02.10
Виртуальная память


7-29133
Костян
2002-12-08 06:55
2003.02.10
FloppyDisk password


3-28679
alxx
2003-01-24 15:34
2003.02.10
Функции работы с датой-временем


1-28750
Fvv
2003-01-31 10:25
2003.02.10
DragAndDrop из внешних програм


1-28885
thick
2003-01-30 16:03
2003.02.10
initialization ???




   Наверх