Вниз
Скачать: 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.026 c
14-1131377741
DiamondShark
2005-11-07 18:35
2005.11.27
Net 2.0 и все-все-все


11-1112073636
DmiSb
2005-03-29 09:20
2005.11.27
Как положить панель на нужную страницу TabConrol`a


2-1131348915
axx
2005-11-07 10:35
2005.11.27
TThread


2-1131670336
Murdok
2005-11-11 03:52
2005.11.27
Работа с scrollbar


14-1131004493
syte_ser78
2005-11-03 10:54
2005.11.27
GeForse 3 TI 200 DDR 64 Mb manly




   Наверх