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

Перекрываем TCustomGrid.DrawCell   Найти похожие ветки 

← →
Бывший студент ©   (2005-04-16 01:28) [0]

Создаю компонент с предком TStringGrid. Необходимо изменять стиль ячеек. К примеру меняю цвет и шрифт фокуса и цвет колонок, делаю так:

type
 TMyGrid = class(TStringGrid)
.
protected
procedure DrawCell(ACol, ARow: Longint;
   ARect: TRect; AState: TGridDrawState); override;
.
implementation

procedure TMyGrid.DrawCell(ACol, ARow: Longint;
   ARect: TRect; AState: TGridDrawState);
var Rect: TRect;
const
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
begin
 inherited;

 if (gdFocused in AState) then
 begin
   Canvas.Brush.Color := clBlack;
   Canvas.Font.Color := clWhite;
   Canvas.Font.Style := [fsBold];
 end
 else     if ACol = 2 then      
     Canvas.Brush.color := clPaleGreen
   else
     Canvas.brush.Color := clPaleRed;

 
 if (ACol > 0) and (ARow > 0) then
 begin
   
   Canvas.FillRect(ARect);
   Canvas.TextOut(Rect.Top, Rect.Left, Cells[ACol, ARow]);
 end;
end;

В результате текст всех ячеек попадает в первую колонку, что не так?


← →
MBo ©   (2005-04-16 09:36) [1]

Ну скажи, какой смысл тебе отвечать, если ты не вникаешь в ответы по поводу прямоугольника

Что это за финт ушами:
Canvas.TextOut(Rect.Top,


← →
Бывший студент ©   (2005-04-16 11:50) [2]

Спасибо за оценку, но:
если использовать Canvas.TextOut(ARect.Top..), то всё валится вообще в последнюю ячейку нулевой колонки.


← →
Просто Джо ©   (2005-04-16 14:15) [3]

Блин. Left, затем Top


← →
Бывший студент ©   (2005-04-16 16:03) [4]

Спасибо за совет - заработало.



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

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



Память: 0.45 MB
Время: 0.031 c
11-1112760998
uli
2005-04-06 08:16
2005.11.27
выделение текста в EDITBOX


14-1131186727
Pazitron_Brain
2005-11-05 13:32
2005.11.27
Что - то с ос.


1-1130678275
Igor_thief
2005-10-30 16:17
2005.11.27
Listview и групировка (grouping)


6-1124057240
NikNet
2005-08-15 02:07
2005.11.27
У кого есть UUE кодер и ДЕКОДЕР?


1-1130779279
Wolfram
2005-10-31 20:21
2005.11.27
Как правильно отслеживать перемещение курсора в Memo?




   Наверх