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

ComboBox 在 SrollBox下, onMouseWheel問題

答題得分者是:sryang
gptesu
一般會員


發表:14
回覆:14
積分:5
註冊:2008-09-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-11-06 17:56:02 IP:27.109.xxx.xxx 訂閱
各位好,

想請教各位一個關於"ComboBox 在 SrollBox下, scrollBox1.VertScrollBar.Position - Round(WheelDelta/2);
結果scrollBox1真的可以使用Mouse Wheel上下移動了

但如果ScrollBox1內有一個comboBox1, 當用戶展開comboBox1後,再用Mouse Wheel 動一下, 那麼展開後comboBox1會脫離原本的comboBox1(如附上的圖)。請問怎樣解決呢?

謝謝!
sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-11-06 18:34:27 IP:111.254.xxx.xxx 訂閱
ComboBox.DroppedDown 屬性可以判斷是不是正在下拉
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
gptesu
一般會員


發表:14
回覆:14
積分:5
註冊:2008-09-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-11-10 12:55:23 IP:27.109.xxx.xxx 訂閱
謝謝你的回覆!

想請問一下是怎樣使用呢?

是否是在onMouseWheel內檢查一下comboBox是否DroppedDown再做處理呢?

但我有很多個comboBox, 那麼是否是每次onMouseWheel都要檢查所有的ComboBox?

另外,當comboBox DroppedDown的時候再onMouseWheel, 那麼comboBox 的selectedItem亦會改動, 這樣很容易使用戶混淆?我希望:
1. onMouseWheel comboBox 的selectedItem改動, 但ScollerBox就不要動

2. onMouseWheel comboBox 的DroppedDown收起,而ScollerBox就上下捲動

謝謝
sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-11-10 13:00:49 IP:111.254.xxx.xxx 訂閱
Screen.ActiveControl 可以取得目前 Focus 的控制項
Combobox 下拉時,一定是 Active Control

不用一個一個判斷,只要 Screen.ActiveControl is TCombobox 時
再判斷 (Screen.ActiveControl as TCombobox).DroppedDown 就好
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
gptesu
一般會員


發表:14
回覆:14
積分:5
註冊:2008-09-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-11-10 15:11:46 IP:27.109.xxx.xxx 訂閱
謝謝你的熱心幫助! 問題已根據你的方法解決了! 謝謝!
編輯記錄
gptesu 重新編輯於 2010-11-10 00:12:22, 註解 無‧
系統時間:2017-12-11 19:02:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!