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

Можно ли изменить у TStringGrid a   Найти похожие ветки 

← →
X-Vizitor   (2002-09-17 23:53) [0]

цвет ячеки, отдельного столбца или текста в ячейке?


← →
777 ©   (2002-09-17 23:57) [1]

Конечно можно...
Ищите на сайте - здесь есть.


← →
[NIKEL] ©   (2002-09-18 00:17) [2]

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

Const //сдесь определяем Ваш цвет. Так же можно использовать
//цвета по умолчанию.
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);

begin

//Если ячейка получает фокус, то закрасить её другими цветами
if (gdFocused in State) then begin
StringGrid1.Canvas.Brush.Color := clBlack;
StringGrid1.Canvas.Font.Color := clWhite;
end
else //Если же ячейка теряет фокус, то закрашиваем её красным и зелёным

if ACol = 2 //Вторая колонка будет зелёной , другие - ячейки красными
then StringGrid1.Canvas.Brush.color := clPaleGreen
else StringGrid1.canvas.brush.Color := clPaleRed;

//Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
//Естевственно это завит от того, есть у Вас title-Row/Columns или нет.

If (ACol > 0) and (ARow>0) then
begin
//Закрашиваем бэкграунд
StringGrid1.canvas.fillRect(Rect);

//Закрашиваем текст (Text). Также здесь можно добавить выравнивание и т.д..
StringGrid1.canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]);
end;
end;


Если захотите чтобы цвет ячеек менялся в зависимости от значения в них, то можно заменить 3 линии (if Acol = 2 ......) на что-нибуть вроде этого

if StringGrid1.Cells[ACol,ARow] = "highlight it"
then StringGrid1.Canvas.Brush.color := clPalered
else StringGrid1.canvas.brush.Color := clwhite;


← →
X-Vizitor   (2002-09-18 00:53) [3]

Огроменнейшее спасибо!!!



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

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



Память: 0.45 MB
Время: 0.011 c
1-98152
Ricks
2002-09-17 20:42
2002.09.30
Открыто ли меню


14-98350
Val
2002-09-06 11:19
2002.09.30
TP - ностальгия


14-98332
AL2002
2002-09-05 11:32
2002.09.30
Уже несколько ночей снится одна и та же девушка


7-98381
BY_KAN
2002-07-22 03:19
2002.09.30
НЕ ПАШЕТ AX=7305h INT 21h Абсол. чтен/запись


3-97969
volph2
2002-09-09 12:30
2002.09.30
Как в dxDBGrid сделать типа как Locate?




   Наверх