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

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

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;


Наверх

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