Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Закраска в StringGrid   Найти похожие ветки 

 
Khabibulin ©   (2006-12-13 22:58) [0]

Здравствуйте!
Помогите закрасить требуемую ячейку в StringGrid, например:
StringGrid.Cells[3, 4]...
За ранее спасибо!


 
Virgo_Style ©   (2006-12-13 23:09) [1]

см. OnDrawCell


 
Khabibulin ©   (2006-12-13 23:12) [2]

а пример конкретный можно...


 
Anatoly Podgoretsky ©   (2006-12-13 23:41) [3]

> Khabibulin  (13.12.2006 23:12:02)  [2]

Тебе его скопировать сюда?


 
Virgo_Style ©   (2006-12-13 23:46) [4]

не забыть выключить DefaultDrawing (или как его, лень опять Delphi запускать)

Как-то так, к примеру (на коленке по-быстрому):

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
var X,Y:integer;
begin

 with TStringGrid(Sender).Canvas do begin
   with Rect do begin
     X:=Left+(Right-Left-TextWidth(TStringGrid(Sender).Cells[ACol,ARow])) div 2;
     Y:=Top+(Bottom-Top-TextHeight(TStringGrid(Sender).Cells[ACol,ARow])) div 2;
   end;
   if (gdFixed in State) then begin
     DrawFrameControl({TStringGrid(Sender).Canvas.}Handle,Rect,DFC_BUTTON,DFCS_BUTTON PUSH);
     Brush.Color:=clBtnFace;
     TextOut(X,Y,TStringGrid(Sender).Cells[ACol,ARow] );
   end else begin
    if (gdSelected in State) then Brush.Color:=clBlue else
      if ((ACol=3) and (ARow=4)) then
        Brush.Color:=clRed
      else
        Brush.Color:=clWhite;
    TextRect(Rect,X,Y,TStringGrid(Sender).Cells[ACol,ARow] );
    if (gdFocused in State) then
      DrawFocusRect(Rect);
   end;
 end;
end;

P.S. [2] отделяет от [1] три минуты. Скажи, что ты сделал за эти три минуты? Прочитал справку? Поискал пример? Посмотрел параметры OnDrawCell?
Э-эх...


 
Khabibulin ©   (2006-12-14 00:21) [5]

Спасибо огромное!


 
Германн ©   (2006-12-14 01:32) [6]

Ну почему на "Королевстве" есть статья о раскраске только DBGrid"a! Или я не информирован достаточно полно? :-)


> Virgo_Style ©   (13.12.06 23:46) [4]
...
> Как-то так, к примеру (на коленке по-быстрому):

Ну если "по-быстрому", то полезно помнить, что оператор with допускает перечисление условий через запятую :-)


 
Плохиш ©   (2006-12-14 11:05) [7]


> Германн ©   (14.12.06 01:32) [6]
> Ну почему на "Королевстве" есть статья о раскраске только
> DBGrid"a

Может им претит копирование примеров из справки?



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
2-1165999682
sergeyst
2006-12-13 11:48
2006.12.31
Попадание точки в заданную область


15-1165748844
Vistaman
2006-12-10 14:07
2006.12.31
Проблемы с Windows Vista


1-1163403828
V-A-V
2006-11-13 10:43
2006.12.31
Масштаб изображения


8-1146665803
mobila
2006-05-03 18:16
2006.12.31
Масштабирование изображения


2-1165900730
Данил.Ялта
2006-12-12 08:18
2006.12.31
Большие *.тхт