線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1943
推到 Plurk!
推到 Facebook!

滾輪狀態

 
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-06-05 16:34:15 IP:163.28.xxx.xxx 未訂閱
如何控制或得知滑鼠的滾輪狀態?
------
我也在努力學習中,若有錯謬請見諒。
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-06-06 13:34:25 IP:163.29.xxx.xxx 未訂閱
引言: 如何控制或得知滑鼠的滾輪狀態?
TControl 有一 Event onMouseWheel,可於此處理滑鼠的滾輪滾動 是否你要的? TForm上此Event為published, 可直接使用, 其他元件如TDBGrid則因為protect,必須繼承後使用
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-06-07 12:37:24 IP:163.28.xxx.xxx 未訂閱
能否舉個例子,因為我不是很明白,謝謝。
------
我也在努力學習中,若有錯謬請見諒。
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-06-07 13:29:53 IP:163.29.xxx.xxx 未訂閱
引言: 能否舉個例子,因為我不是很明白,謝謝。
試試這個例子, Form上放Table, DataSource, DBGrid各一, Pas 如下 unit dumy1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, DB, DBTables, Grids, DBGrids; type TDBGrid=class(DBGrids.TDBGrid) public function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override; end; TForm1 = class(TForm) DBGrid1: TDBGrid; Table1: TTable; DataSource1: TDataSource; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TDBGrid } function TDBGrid.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; begin if WheelDelta > 0 then datasource.DataSet.Next; if wheelDelta < 0 then DataSource.DataSet.Prior; end; procedure TForm1.FormCreate(Sender: TObject); begin table1.open; end; end.
linkolong
一般會員


發表:4
回覆:35
積分:12
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-06-07 22:29:33 IP:61.70.xxx.xxx 未訂閱
我認為adonis的問題點不在此,而是沒把Scroll mouse所附的Driver先給關閉,內定的mouse driver 被取代,以至於MouseWheel Event失效
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-06-08 13:18:08 IP:210.200.xxx.xxx 未訂閱
那麼,我該怎麼解決呢?謝謝。
------
我也在努力學習中,若有錯謬請見諒。
linkolong
一般會員


發表:4
回覆:35
積分:12
註冊:2002-04-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-06-08 17:42:30 IP:61.70.xxx.xxx 未訂閱
在OnMouseWheel事件中wheeldelta接收滾輪狀態 procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin form1.Caption:=inttostr(wheeldelta); end; 此時當滾輪向上則form1.Caption顯示120,向下則顯示-120
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-06-09 16:08:08 IP:210.201.xxx.xxx 未訂閱
謝謝你們的熱心回應,讓我受益不少,謝謝。
------
我也在努力學習中,若有錯謬請見諒。
系統時間:2024-04-20 17:28:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!