![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закраска в StringGrid [D7]
Khabibulin © (2006-12-13 22:58:00)Здравствуйте!
Помогите закрасить требуемую ячейку в StringGrid, например:
StringGrid.Cells[3, 4]...
За ранее спасибо!
Плохиш (2006-12-14 11:05:00) [1]
> Германн © (14.12.06 01:32) [6]
> Ну почему на "Королевстве" есть статья о раскраске только
> DBGrid'a
Может им претит копирование примеров из справки?
Германн (2006-12-14 01:32:00) [2]Ну почему на "Королевстве" есть статья о раскраске толькоDBGrid'a! Или я не информирован достаточно полно? :-)
> Virgo_Style © (13.12.06 23:46) [4]
...
> Как-то так, к примеру (на коленке по-быстрому):
Ну если "по-быстрому", то полезно помнить, что операторwithдопускает перечисление условий через запятую :-)
Khabibulin (2006-12-14 00:21:00) [3]Спасибо огромное!
Virgo_Style (2006-12-13 23:46:00) [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?
Э-эх...
Anatoly Podgoretsky (2006-12-13 23:41:00) [5]> Khabibulin (13.12.2006 23:12:02) [2]
Тебе его скопировать сюда?
Khabibulin (2006-12-13 23:12:00) [6]а пример конкретный можно...
Virgo_Style (2006-12-13 23:09:00) [7]см. OnDrawCell