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

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

Наверх




Память: 0.44 MB
Время: 0.061 c
4-1234253553
OlegNik
2009-02-10 11:12
2010.08.27
Доп. информация об устройствах.


2-1266950781
Женя
2010-02-23 21:46
2010.08.27
Перенос строки при экспорте из acces в dbgrid


15-1267911005
Юрий
2010-03-07 00:30
2010.08.27
С днем рождения ! 7 марта 2010 воскресенье


2-1271934182
Константин
2010-04-22 15:03
2010.08.27
Как удалть объёкты из TObjectList и не уменьшишь при этом ....


15-1265084562
Дмитрий С
2010-02-02 07:22
2010.08.27
Что делать, если на шлюзе не хватает портов для трансляции?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский