Jan*_*erk 5 forms delphi delphi-2010 delphi-xe
如果在Delphi 2010或XE中将Application.MainFormOnTaskbar设置为true,则所有辅助表单始终位于主窗口的前面。将Popupmode或PopupParent属性设置为什么都没有关系。但是,我有一些辅助窗口,希望可以在主窗体后面显示。
如果将MainFormOnTaskbar设置为false,则可以使用,但是Windows 7功能会损坏(Alt-tab,Windows栏图标等)。
我如何在保持Windows 7功能正常运行的同时仍允许辅助窗体隐藏在主窗体后面?
基本上你不能。重点MainFormOnTaskBar
是具有 Vista 兼容性。如果你不设置它,兼容性就会消失......,如果你设置它,z-order 就完成了。以下摘录自 D2007 的自述文件:
The property controls how Window's TaskBar buttons are handled by VCL. This property can be applied to older applications, but it affects the Z-order of your MainForm, so you should ensure that you have no dependencies on the old behavior.
但请参阅此QC 报告,它描述了完全相同的问题(并以AsDesigned结束)。该报告指出了一种解决方法,涉及覆盖CreateParams
表单以将 设为WndParent
“0”。它还描述了此解决方法导致的一些问题以及这些问题的可能解决方法。请注意,找到并解决所有并发症并不容易/不可能。请参阅 Steve Trefethen 的文章,了解可能涉及的内容。