如何判斷滑鼠離開ComboBox? |
答題得分者是:RootKit
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
程式在Combobox1的list box中顯示資料後,我將滑鼠移到Combobox1後(code 如下),希望滑鼠如果不從Combobox1的list box選擇item ,則在滑鼠離開Combobox1時,Combobox1的list box可以自動close,但是我不知道如何判斷滑鼠是否離開ComboBox?
var Tp: Tpoint; ... TP:= ClientToScreen(point(combobox1.Left 3,combobox1.top combobox1.Height 3)); SetCursorPos(Tp.x, Tp.y); Q:如何判斷滑鼠離開ComboBox? 希望各位先進指點! 謝謝! 編輯記錄
mathewzhao 重新編輯於 2008-05-24 03:01:43, 註解 無‧
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
要滿足你的目的。用 CM_MOUSELEAVE 可能是行不通的。
因為 ListHandle 跟 ComboHandle 並非同一個。因此無法判別 移至 List 還是別位。 既使做到可以判別,但 List 滑鼠移出並沒有觸發 CM_MOUSELEAVE 這個訊息可能是另外但無從得知。 建議 Override DropDown 當下拉時 啟用 SetTimer 去檢查滑鼠位置是否為 Handle 、EditHandle、ListHadle(需自取) 若非則 KillTimer 並設定 DroppedDown := False;關閉下拉。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |