我有一个主窗体 (form1),它调用 form2,它是一个留在顶部的窗体。form2 调用模态表单 (form3),它也是一个留在顶部的表单。当 form3 模态窗体调用 colordialog 时,颜色对话框在 form3 后面打开。
什么设置在form3前面打开颜色对话框?
我正在使用 D2009
谢谢
我有一个主窗体 (form1),它调用 form2,它是一个留在顶部的窗体。form2 调用模态表单 (form3),它也是一个留在顶部的表单。当 form3 模态窗体调用 colordialog 时,颜色对话框在 form3 后面打开。
什么设置在form3前面打开颜色对话框?
我正在使用 D2009
谢谢
Delphi(D2007 前后)Execute
为所有接受父窗口句柄作为参数的标准对话框引入了重载方法。更改您的呼叫以显示对话框:
if ColorDialog1.Execute(Handle) then
begin
// Do whatever
end;
Handle
在这种情况下,将是显示TColorDialog
. 如果您正在从另一个窗口执行对话框,则需要将停留在顶部表单的句柄上。
文档在这里(XE 版本,但它仍然适用于 D2009)。