Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.031 c
4-1127649408
Jolik
2005-09-25 15:56
2005.11.27
PAS обертка для ICMP.DLL


3-1129121629
Goral
2005-10-12 16:53
2005.11.27
Фильтрация таблиц БД


14-1131374953
oldman
2005-11-07 17:49
2005.11.27
Опрос. Кто вам мешает жить?


14-1130868063
Bogdan1024
2005-11-01 21:01
2005.11.27
Помогите собрать комп!!!


14-1131118960
Константинов
2005-11-04 18:42
2005.11.27
Оплата труда