全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1982
推到 Plurk!
推到 Facebook!

VisualReport的ScrollBar如何利用滑鼠控制

答題得分者是:sryang
chris681016
中階會員


發表:69
回覆:122
積分:98
註冊:2006-10-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-24 16:36:45 IP:211.75.xxx.xxx 訂閱
請問VisualReport的ScrollBar如何利用滑鼠控制上下捲動呢,現在都是用拉的
有辨法MouseWheel用嗎?
chih_kuan
中階會員


發表:38
回覆:82
積分:54
註冊:2003-02-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-24 16:47:31 IP:61.59.xxx.xxx 未訂閱
我沒用過 Visual Report 
不過...我想應該..原理都是一致的..
第一..
你可以去改寫 它的 Wndproc
去攔截它的 mouse 訊息 (這樣...只要你的mouse 在它上方有任何動作...)
都會被攔截到..
至於攔截到之後
可以仿效以下作法...

procedure TSomeObject.WindProc(var Message: TMessage);
begin
Case Message.Msg of
WM_MOUSEWHEEL : //代表接收到 滾輪訊息
begin
Case TWMMouseWheel(Message).WheelDelta of
120 : DoSomeThing_Up ; // 代表 滾輪向上
- 120 : DoSomeThing_Down; // 代表 滾輪向下
End;
end
Else
Inherited;
End;
end;
------
叔叔有練過,初學者不要學。
chris681016
中階會員


發表:69
回覆:122
積分:98
註冊:2006-10-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-24 17:21:19 IP:211.75.xxx.xxx 訂閱
真快回覆謝謝^^,不過功力太淺在教一下吧^^
例如我要Form1的VertScrollBar跟這滑鼠動要怎麼做?
麻煩^^

Case TWMMouseWheel(Message).WheelDelta of
120 : DoSomeThing_Up ; // 代表 滾輪向上
- 120 : DoSomeThing_Down; // 代表 滾輪向下
End;

DoSomeThing_Up這是自己定義的嗎~~~
chris681016
中階會員


發表:69
回覆:122
積分:98
註冊:2006-10-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-24 17:27:47 IP:211.75.xxx.xxx 訂閱
試出來怎麼讓form 跟這滑鼠動了,在試一下報表^^ 
chih_kuan
中階會員


發表:38
回覆:82
積分:54
註冊:2003-02-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-09-24 17:48:25 IP:61.59.xxx.xxx 未訂閱
既然 Form 可以了..
那我想..VisualReport 應該也可以 ...
因為...兩者都是可視覺化的(就是畫面上..可以被看得到的.)..
所以會對 mouse 的動作有所回應...也同樣可以攔截到訊息..
我只能說...加油點....再多思考一下...自己想出來的..比較不會忘..
我當初也是.....預祝你成功了

DoSomething_Up,DoSomeThing_Down =>是我在範例中....用來讓你瞭解....向上.做什麼事...向下又是做什麼事...的
------
叔叔有練過,初學者不要學。
編輯記錄
chih_kuan 重新編輯於 2008-09-24 17:49:29, 註解 無‧
chih_kuan 重新編輯於 2008-09-24 17:51:11, 註解 無‧
chris681016
中階會員


發表:69
回覆:122
積分:98
註冊:2006-10-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-09-25 10:22:19 IP:211.75.xxx.xxx 訂閱
感謝您的回覆^^
我的Form是這樣寫
Case Message.Msg of
WM_MOUSEWHEEL : //代表接收到 滾輪訊息
begin
Case TWMMouseWheel(Message).WheelDelta of
120 : Form1.VertScrollBar.Position:=Form1.VertScrollBar.Position-10 ; // 代表 滾輪向上
- 120 : Form1.VertScrollBar.Position:=Form1.VertScrollBar.Position 10 ; // 代表 滾輪向下
end;
end
Else
Inherited;
end;

但Visuall Report找不到ScrollBar可控制,它是自動產生的,找不到有屬性有
請問有人知道嗎?還是本來就不可以控制。
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-10-02 23:53:18 IP:124.10.xxx.xxx 訂閱
把 Visuall Report 放到一個 ScrollBox 中,你只要控制 ScrollBox 的捲軸就好了
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
chris681016
中階會員


發表:69
回覆:122
積分:98
註冊:2006-10-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-10-03 10:05:01 IP:211.75.xxx.xxx 訂閱
可以了耶真感謝sryang大大^^ 和chih_kuan 一起運用就可了
系統時間:2024-04-25 21:21:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!