Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: 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 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-28999
Феликс
2003-01-23 13:28
2003.02.10
Как обработать post?


14-29047
Zaxar
2003-01-24 11:59
2003.02.10
Отставание системного времени & антивирусы..


1-28900
Fill
2003-01-29 20:43
2003.02.10
mainmenu


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


1-28856
Noname2
2003-01-30 11:13
2003.02.10
Метка как объект в run-time