![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисование в заголовке TDBGrid [D5, Win2k]
Vetal © (2003-04-16 16:30:00)Всем привет!
Хочу рисовать свой заголовок (Title) вместо стандартного в компоненте TDBGrid. Как это можно сделать? События OnDrawColumnCell при перерисовке заголовка не происходит, в отличие от остальных ячеек.
Подскажите пожалуйста. Всем заранее спасибо
Vetal (2003-04-17 12:38:00) [1]Указал мыло. Вышли пожалуйста!
Буду очень признателен. Заранее спасибо.
sniknik (2003-04-16 21:16:00) [2]чего ж ты мыло не указываеш? а я уж хотел пример выслать....
Vetal (2003-04-16 19:19:00) [3]Почему я вообще завел этот топик:
Думал в событии на рисование грида сделать следующее: если ячейка фиксированная и нужная мне колонка, то рисовать рисунок на ячейке.
Описание события:
TDrawColumnCellEvent = procedure (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState) of object;
Где TGridDrawState = set of (gdSelected, gdFocused, gdFixed);
Так вот, дело в том, что ситуация, когда State = gdFixed никогда не происходит. Почему так происходит, и может можно обойтись без наследования?
Polevi (2003-04-16 18:55:00) [4]или создавать динамически
procedure TForm1.FormCreate(Sender: TObject);
begin
with TMyDBGrid.Create(self) do
begin
Parent:=self;
Align:=alClient;
end;
end;
Vetal (2003-04-16 18:40:00) [5]Подождите! Кто такой TMyDBGrid - это наследник. Я так понимаю, чтобы создать такой класс и поместить его на форму, необходимо создать новый компонент - или как?
Polevi (2003-04-16 18:31:00) [6]override;
Vetal (2003-04-16 18:15:00) [7]Спасибо.
Извини, но ламерский вопрос. Что ты подразумеваешь под "переопределять" - создавать новый компонент с базовым классом TDBGrid?
sniknik (2003-04-16 17:03:00) [8]нужно переопределять
TMyDBGrid = class(TDBGrid)
procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
....
и рисовать в нем.