我有喬丹羅素的Toolbar2000工具欄,我在運行時使用嵌入式TFrame創建並在應用程序主窗體上停靠。該框架具有嵌入式窗格,該窗格依次包含其他面板和各種控件。因此,結構爲:具有嵌入式框架的Toolbar2000的大小問題
TTBDock
TTBToolbar
TFrame (align=alNone, Autosize=true)
TPanel 1 (align=alNone, Autosize=true)
TPanel 2 (align=alTop ,Autosize = false)
TPanel 3 (align=alTop ,Autosize = false)
TPanel 4 (align=alTop , Autosize = false)
的想法是,板2,3,4具有它們的高度尺寸顯式地與框架(並因此在工具欄),然後自動調整大小,以適應新的大小。
它工作正常,只是工具欄的大小錯誤,第一次工具欄顯示停靠在應用程序主窗體上。如果我在該點強制改變工具欄的大小(例如,通過從鼠標單擊再次明確調整TPanel高度),它就會出現。我已經嘗試調用例程來設置大小兩次,調用Update,Application.ProcessMessages,ReAlign - 除了讓主窗體繪製然後再次手動執行大小調整之外,沒有任何東西可以工作。
如果我在調整大小例程結束時中斷並檢查面板大小和框架大小,它們是正確的,但工具欄大小不是,所以第一次顯示時,框架部分顯示爲錯誤 - 中型工具欄。它會在接下來的調用大小例程之後,但是隻有在主表單自己繪製之後。
我可能會搞砸一些令人討厭的事情,比如在計時器到期後明確調整面板大小,但我寧願在源頭解決問題。
任何想法爲什麼這可能會發生(或沒有發生)?
恕我直言,你應該接受你自己的答案,因爲我的文章涉及到的解決方法,而不是解決方案。 :) – 2010-10-11 09:29:42