调用ShowModal时设置PopupParent是一个好主意,是否有必要在较新
为了防止新创建的模态窗口隐藏在其模态父窗口下,我习惯于在调用ShowModal时设置PopupParent(如建议
here,here和
here):
function TMyForm.ShowModal(ParentForm: TCustomForm): Integer; begin PopupParent := ParentForm; Result := inherited ShowModal; end; 但是在调试时(在FormCreate中设置丢失表单放置的问题)我意识到设置PopupParent会导致调用ReCreateWindow,从而破坏并重新创建底层的Windows屏幕对象. 我的问题: >始终设置PopupParent是一个好主意 – 可能是什么 编辑: 我认为上面所有相关的问题都解决了同样的问题,最好由3rd link描述:
解决方法
这个问题很古老,但仍然相关.关于此的最佳信息来源是Allen Bauer本人:
http://blog.therealoracleatdelphi.com/2004/02/popupmode-and-popupparent_10.html (韦巴克: 你找到了这个: 这样你的代码应该是: function TMyForm.ShowModal(ParentForm: TCustomForm): Integer; begin PopupMode := pmAuto; PopupParent := ParentForm; Result := inherited ShowModal; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |