![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ScrollBar в гриде
qpwo111 © (2010-10-12 09:25:00)Здраствуйте, подскажите создал свой грид, унаследовав его от TJvDBUltimGrid. Проблема в том что не смотря на то что скроллбары не нужны, то есть содержимое влезает полностью в таблицу, они все равно показываются. Создал процедурку которая в случае если скроллбары не нужны, скрывает их. Но вот где её вызывать, чтобы переопределить родной метод показывания скроллбаров не знаю. Пробовал в Resize, но уж больно грид дергаться начинает при кждом щелчке мыши
Игорь (2010-10-13 11:40:00) [1]
> qpwo111 (12.10.10 09:25)
unit Unit1;
type
TForm1 = class(TForm)
StringGrid: TStringGrid;
procedure FormCreate(Sender: TObject);
private
FStringGridWndProc: TWndMethod;
procedure StringGridWndProc(var Msg: TMessage);
public
{ Public declarations }
end;
procedure TForm1.StringGridWndProc(var Msg: TMessage);
begin
ShowScrollBar(StringGrid.Handle, SB_HORZ, False);
ShowScrollBar(StringGrid.Handle, SB_VERT, False);
FStringGridWndProc(Msg);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FStringGridWndProc := StringGrid.WindowProc;
StringGrid.WindowProc := StringGridWndProc;
end;
KilkennyCat (2010-10-12 23:25:00) [2]
> а то я не понял
а как же ты тогда
> создал свой грид, унаследовав его от TJvDBUltimGrid
?
если механизм наследования ясен, то тут проблем не должно возникнуть, тем более, что все исходники доступны, в данном случае.
Если же нет, то рекомендую прочитать
Книга: Создание компонентов в среде Delphi. Руководство разработчика
Автор: Голованов М., Веселов Е.
Издательство: Питер
Этоа книжка лучше объяснит, чем я.
qpwo111 (2010-10-12 09:50:00) [3]а не могли бы вы поподробнее объяснить, а то я не понял
KilkennyCat (2010-10-12 09:42:00) [4]TJvDBUltimGrid<-TJvDBGrid<-TDBGrid<-TCustomDBGrid<-TCustomControl
TCustomDBGrid:
procedure UpdateScrollBar;
constructor TCustomDBGrid.Create(AOwner: TComponent);
...
begin
...
ScrollBars (TCustomControl)
....
end;