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

StringGrid красим ячейки мышкой   Найти похожие ветки 

← →
Ardent   (2010-04-29 17:37) [0]

Всем привет! есть код:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
  With TstringGrid(Sender) Do
begin

 If (gdSelected in State)and(ACol=Col)And(ARow=Row)  then  
 begin

 if Canvas.Brush.Color = clRed then Canvas.Brush.Color:= clWhite else  Canvas.Brush.Color:= clRed ;
  Canvas.FillRect(Rect);
  Canvas.DrawFocusRect(Rect);

 end
  else
 If (gdSelected in State)  then
 begin
  if Canvas.Brush.Color = clRed then Canvas.Brush.Color:= clWhite else  Canvas.Brush.Color:= clRed ;
  Canvas.FillRect(Rect);
  Canvas.DrawFocusRect(Rect);
  Canvas.DrawFocusRect(Rect);
 end;
end;

Выделенные ячейки закрашиваются в красный цвет.
1) Как сделать чтоб  ячейки оставались закрашенными, после перехода в другую ячейку?
2) Как сделать исключение при закраске - при выделении красных ячеек они красятся в белый и наоборот


← →
Ardent   (2010-04-29 17:39) [1]

Вот правильный исходный код....

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
 With TstringGrid(Sender) Do
begin

If (gdSelected in State)and(ACol=Col)And(ARow=Row)  then  
begin

Canvas.Brush.Color:= clRed ;
 Canvas.FillRect(Rect);
 Canvas.DrawFocusRect(Rect);

end
 else
If (gdSelected in State)  then
begin
 Canvas.Brush.Color:= clRed ;
 Canvas.FillRect(Rect);
 Canvas.DrawFocusRect(Rect);
 Canvas.DrawFocusRect(Rect);
end;
end;


← →
MonoLife ©   (2010-04-30 06:41) [2]


> 1) Как сделать чтоб  ячейки оставались закрашенными, после
> перехода в другую ячейку?

Пиши что-нить в ячейку, а потом проверяй в DrawCell
"если в ячейке ACol, ARow то, что надо, то красим, иначе не красим"


← →
ixen ©   (2010-05-02 11:03) [3]

я так понял что данные для заполнения в stringgrid беруться из некоего массива. Создай тип запись где укажи поле состояние ячейки, например 0 или 1 . затем проверяй содержимое этого поля в DrawCell и закрашивай.



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

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



Память: 0.45 MB
Время: 0.049 c
3-1221580413
wipr
2008-09-16 19:53
2010.08.27
не удается открыть таблицу XML


15-1267711258
xayam
2010-03-04 17:00
2010.08.27
Гений места


2-1268142361
Irisss
2010-03-09 16:46
2010.08.27
Как сервер fireBird отключить


2-1269469596
s_t_d
2010-03-25 01:26
2010.08.27
Ступор при редактировании поля VARCHAR с пом. FIBPLus


2-1267163973
scur
2010-02-26 08:59
2010.08.27
Размер базы




   Наверх