Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рисование в заголовке 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;

....


и рисовать в нем.


Наверх

Титульная страница Поиск, карта сайта Написать письмо