3

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

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 实例。当它打开时,它会在主应用程序窗口后面发送我的第一个模式对话框。

有没有办法让 TOpenDialog 打开而不影响模态对话框的 Z 顺序?

谢谢!

4

1 回答 1

5

你用的是什么版本的德尔福?Delphi 2007 及更高版本添加了一个重载的 TOpenDialog.Execute(ParentWnd: HWND); 在调用 Execute() 时将模态对话框的句柄作为 ParentWnd 传递可能会有所帮助。

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

于 2009-06-23T18:06:06.453 回答