請問如何讓ScrollBox支援滑鼠滾輪? |
答題得分者是:sos_admin
|
小蟲蟲
一般會員 發表:38 回覆:55 積分:23 註冊:2002-03-13 發送簡訊給我 |
請教:
我在ScrollBox中,放多個元件,並讓ScrollBox自動產生ScrollBar。
在MouseWheelDown/Up中,撰寫showmessage,可是都不會觸發! procedure TForm1.ScrollBox1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
showmessage('bbb');
end; 請問,如何讓ScrollBox支援滑鼠滾輪?
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
引言: 請教: 我在ScrollBox中,放多個元件,並讓ScrollBox自動產生ScrollBar。 在MouseWheelDown/Up中,撰寫showmessage,可是都不會觸發! procedure TForm1.ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin showmessage('bbb'); end; 請問,如何讓ScrollBox支援滑鼠滾輪?當你Focus在SCrollBox內任一元件上(例如在某一Edit上click一下)時再轉動滾輪, Event就會被觸發了 |
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
正如同ccchen兄所说是因为Tscroollbox没有得到焦点的缘故;
我下面将按 小蟲蟲 兄所说,就是不论焦点在窗体的任何部分均可实现Tscroollbox滚动触发功能. ...
procedure ScrollBox1MouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
private
procedure getmouse(var msg:TWMMouseWheel);message WM_MouseWheel;
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm}
//获得消息,使ScrollBox1得到焦点
procedure TForm1.getmouse(var msg:TWMMouseWheel);
begin ScrollBox1.SetFocus ; end;
procedure TForm1.ScrollBox1MouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
posi:integer;
begin
posi:=ScrollBox1.vertScrollBar.Position-5;
if ScrollBox1.vertScrollBar.Position<0 then posi:=0;
ScrollBox1.vertScrollBar.Position :=posi;
end; procedure TForm1.ScrollBox1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
if ScrollBox1.vertScrollBar.Position
|
小蟲蟲
一般會員 發表:38 回覆:55 積分:23 註冊:2002-03-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |