1

我有一个主窗体 (form1),它调用 form2,它是一个留在顶部的窗体。form2 调用模态表单 (form3),它也是一个留在顶部的表单。当 form3 模态窗体调用 colordialog 时,颜色对话框在 form3 后面打开。

什么设置在form3前面打开颜色对话框?

我正在使用 D2009

谢谢

4

1 回答 1

1

Delphi(D2007 前后)Execute为所有接受父窗口句柄作为参数的标准对话框引入了重载方法。更改您的呼叫以显示对话框:

if ColorDialog1.Execute(Handle) then
begin
  // Do whatever
end;

Handle在这种情况下,将是显示TColorDialog. 如果您正在从另一个窗口执行对话框,则需要将停留在顶部表单的句柄上。

文档在这里(XE 版本,但它仍然适用于 D2009)。

于 2011-04-14T22:59:12.030 回答