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

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

Grid


ViJen ©   (2003-07-15 15:48:00) 

Мастера добрый день!
Ответьте пожалуйста - grid поставленный на форму уже не является окном и не получает сообщений?
Конкретно что бы хотелось сделать - это поймать сообщение на прокрутку grid"a и скрывать столбцы по мере прокрутки.
Это реально сделать?


ViJen   (2003-07-15 17:01:00) [1]

Спасибки! Все понятно.


clickmaker   (2003-07-15 16:23:00) [2]

procedure NewGridProc(var Message: TMessage);
FOldGridProc: TWndMethod;

FOldGridProc := Grid.WindowProc;
Grid.WindowProc := NewGridProc;

procedure TForm1.NewGridProc(var Message: TMessage);
begin
case Message.Msg of
( Message)

procedure NewGridProc(var Message: TMessage);
FOldGridProc: TWndMethod;

FOldGridProc := Grid.WindowProc;
Grid.WindowProc := NewGridProc;

procedure TForm1.NewGridProc(var Message: TMessage);
begin
case Message.Msg of
WM_HSCROLL:
...
FOldGridProc(Message); // не забыть вызвать для необрабатываемых сообщений
end;



ViJen   (2003-07-15 16:21:00) [3]

В общем для формы это выглядит так
объявление:
procedure WMHSCROLL(var Message: TWMHSCROLL); message WM_HSCROLL;

потом использование допустим:

procedure TfrmMAin.WMHSCROLL(var Message: TWMHSCROLL);
begin
inherited;
beep;
end;

а как написать для грида правильно?


[lamer]Barmaglot   (2003-07-15 16:13:00) [4]

Там же где для окна?


ViJen   (2003-07-15 15:57:00) [5]

Для формы я понимаю как написать процедуру - а как для грида?
конкретно - где ее объявить?


Prov   (2003-07-15 15:56:00) [6]

Лови сообщения: WH_HSCROLL и WM_VSCROLL


clickmaker   (2003-07-15 15:53:00) [7]

А с чего бы ему перестать быть окном? WM_HSCROLL, WM_VSCROLL


Наверх

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