Delphi - 如何控制TOpenDialog的Z顺序

时间:2009-06-23 16:56:47

标签: delphi delphi-2007

我有一个使用以下内容创建的模态对话框:

procedure TFormCompose.createParams(var Params: TCreateParams);
begin
     inherited createParams(Params);
     with Params do begin
          exStyle:=exStyle or WS_EX_APPWINDOW;
          wndParent:=getDesktopWindow;
     end;
end;

在这种形式中,我创建了一个TOpenDialog实例。当它打开时,它会在主应用程序窗口后面发送我的第一个模态对话框。

有没有办法在不影响模态对话框的Z顺序的情况下打开TOpenDialog?

谢谢!

1 个答案:

答案 0 :(得分:5)

您使用的是哪个版本的Delphi? Delphi 2007及以上添加了一个重载的TOpenDialog.Execute(ParentWnd:HWND);

在调用Execute()时将模态对话框的句柄作为ParentWnd传递

为了将来参考,请确保指定哪个版本的Delphi。例如,适用于Delphi 2009的答案,如果您使用的是Delphi 5,对您来说没什么用处,并且对于提供答案的人来说是浪费时间。