我有乔丹罗素的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