Design time時, 如何知道某TWincontrol上的ChildControl有被滑鼠移動 |
尚未結案
|
iamjsn
初階會員 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
現在在寫一個類似Toolbar的元件,上面可新增Toolbtn, 現在遇到一個問題就是如果在自已寫的Toolbar上放一個vcl的標準元件TCombobox上去,在設計期間要移動TCombobox的位置後,就將Toolbar上所有的ChildControl做自動排列(即將Toolbtn和其它控件一起排列),
因為Toolbtn是自已設計的元件,移動的話粉容易寫個程式碼傳送訊息給Toolbar去做自動排列,但目前自已寫的這個Toolbar元件沒辦得知TCombobox是否被有被移動,因此想請教大家,子元件移動時,父元件(這指的是parent)有任何message可得知子元件被移動嗎?謝謝
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
子元件移動時,父元件(這指的是parent)有任何message可得知子元件被移動嗎?
具所知是沒有的。 比較接近的是 WM_PARENTNOTIFY
當子元件建立或釋放、按下滑鼠 均會傳遞給 Parent。
不過為 TWincontrol 類有效。 事實上,還是有解決的方法。
不過不是透過 Message ,是透過繼承 AlignControls。 OK,我交代一下思路: 當遇到此問題,我第一個念頭就想到 ScrollBox 。
當 AutoScroll 為True 時,若移動子元件並超出範圍。
不就會出現 ScrollBar。 隨後我追蹤一下 移動元件必定使用 SetBounds
在SetBounds->RequestAlign->Parent.AlignControl->Parent.AlignControls 接下來,不用我說您應該明白才是。 ~~~~~~~~~~~
難得聰明,常常糊塗。
~~~~~~~~~~~
|
iamjsn
初階會員 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |