ComboBox下拉時滑鼠移動該如何觸發事件? |
缺席
|
adonis
高階會員 發表:140 回覆:258 積分:159 註冊:2002-04-15 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
|
adonis
高階會員 發表:140 回覆:258 積分:159 註冊:2002-04-15 發送簡訊給我 |
jest0024, 您好 OnDropDown 由help中所提及
Occurs when the user opens the drop-down list by clicking the arrow at the right of the control.應該是在該ComboBox裡頭有Item時當ComboBox被點選下拉時就立即被觸發了,並不是我所問當其下拉之後 滑鼠移動到其相關的下拉資訊時才觸發。所以好像並不能用來解決我所提問的問題。
------
我也在努力學習中,若有錯謬請見諒。 |
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: jest0024, 您好 OnDropDown 由help中所提及意思搞錯了!! 如果要攔劫在TcomboBox下拉方塊中 要從OnDrawItem不過首先要將Style設成自訂繪製模示. 但如果不想修改Style的話,就須攔劫WndProc來自訂事件了!Occurs when the user opens the drop-down list by clicking the arrow at the right of the control.應該是在該ComboBox裡頭有Item時當ComboBox被點選下拉時就立即被觸發了,並不是我所問當其下拉之後 滑鼠移動到其相關的下拉資訊時才觸發。所以好像並不能用來解決我所提問的問題。 方法一: style:=csOwnerDrawFixed; procedure OnDrawItem(.... begin if odFocused in State then begin //自訂事件 end; end; 方法二: type TComboBox = class(StdCtrls.TComboBox) public procedure WndProc(var Msg:TMessage);override; end; procedure TComboBox.WndProc(var Msg:TMessage); begin inherited; if Msg.Msg=WM_CTLCOLORLISTBOX then begin //自訂事件 end; end; |
adonis
高階會員 發表:140 回覆:258 積分:159 註冊:2002-04-15 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: jest0024, 您好 我用了方法一去試,卻發現下拉出來的選單竟變成空的,不知該如何解決? 而且此時就算給定 ComboBox.Hint := 'Test' 於任何一選定的下拉資訊中也不會秀出提示,不知哪裡出了問題,煩請幫忙,謝謝 指定OnDrawItem必須重繪,參考TComboBox做法.. ComboBox1.Canvas.FillRect(Rect); if(Index>=0)then ComboBox1.Canvas.TextOut(Rect.Left 2, Rect.Top, ComboBox1.Items[Index]); |
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
|
adonis
高階會員 發表:140 回覆:258 積分:159 註冊:2002-04-15 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
|
adonis
高階會員 發表:140 回覆:258 積分:159 註冊:2002-04-15 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言:引言:事件會造成combobox的list回捲!!有其它方法可以克服嗎? 小弟才疏學淺,並不會捏,以下是小弟的概念尚未實作! 1.Combobox建立時會建立2個物件,一個是Edit另一個是ComboLBox 顯示資料是在ComboLBox上,必須攔劫這個的事件,但因comboLbox是屬於系 統標準元件,尚未攔劫過..~"~!!有沒有人教我捏?! 2.這是實作過的.建立Form表格來顯示hint,但是form表格會顯示在comboLbox 底下,而且使用show顯示的話會造成回捲,必須先建立後,將width=1 height=0,將畫面放大,縮小,這樣combolbox不會回捲。 3.第2種方法比較好實作,但是顯示位置必須不能在combolbox底下,不然會擋住 ,第1種...想辦法中!!想買台TPC..TTAB-B12D |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |