![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
scroll [D7, 2000, XP, 2003]
apic © (2007-08-20 08:20:00)Как перехватить или обработать событие нажать кнопки скроля на форме и вращение скроля (соответственно что бы можно было узнать вперед крутится или назад и на сколько щелчков прокрутилось)?
Dib@zol (2007-09-08 16:02:00) [1]Тфу, брет сморозил. Я хотел сказать - а нет ли у скролла промежуточных парентов до самОй формы, панели там всякие итп?
Dib@zol (2007-09-08 15:47:00) [2]Попробуй напрямую без ВЦЛьной обёртки послать скроллбоксу WM_*SCROLL через SendMessage. Если результата не будет - то это уже глюк Винды. Что в принципе маловероятно.
apic (2007-09-08 15:14:00) [3]Ставил точку останова, видимо сообщения WM_VSCROLL и WM_HSCROLL вообще до формы не доходят.
apic (2007-09-08 14:03:00) [4]Ни чего не работает, компилиться без ошибок, но форма ни на что не реагирует!!!!!!!!!!
Leonid Troyanovsky (2007-08-20 10:09:00) [5]
> apic © (20.08.07 08:20)
> Как перехватить или обработать событие нажать кнопки скроля на форме
type
TForm1 = class(TForm)
..
private
{ Private declarations }
procedure DisplayScrollXY;
procedure WMVScroll( Var msg: TWMVScroll ); Message WM_VSCROLL;
procedure WMHScroll( Var msg: TWMHScroll ); Message WM_HSCROLL;
public
{ Public declarations }
end;
implementation
{$R *.dfm}
procedure TForm1.DisplayScrollXY;
begin
Caption := Format('Horz: %d Vert: %d', [GetScrollPos(Handle, SB_HORZ), GetScrollPos(Handle, SB_VERT)]);
end;
procedure TForm1.WMHScroll(var msg: TWMHScroll);
begin
inherited;
DisplayScrollXY;
end;
procedure TForm1.WMVScroll(var msg: TWMVScroll);
begin
inherited;
DisplayScrollXY;
end;
--
Regards, LVT.
Elen (2007-08-20 09:37:00) [6]Например так :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure scl(var m:TWMScroll); message WM_Vscroll;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.scl(var m: TWMScroll);
begin
caption:=inttostr(m.ScrollCode);
inherited;
end;
end.