Delphi - Как управлять Z Order Of TOpenDialog - PullRequest
3 голосов
/ 23 июня 2009

У меня есть модальное диалоговое окно, которое создается со следующим:

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 модального диалога?

Спасибо!

1 Ответ

5 голосов
/ 23 июня 2009

Какую версию Delphi вы используете? Delphi 2007 и выше добавить перегруженный TOpenDialog.Execute (ParentWnd: HWND); передача дескриптора вашего модального диалога как ParentWnd при вызове Execute () может помочь.

Для дальнейшего использования, убедитесь, что вы указали, какая версия Delphi. Например, ответы, подходящие для Delphi 2009, не очень пригодятся вам, если вы используете Delphi 5, и для человека, предоставившего ответ, это будет пустой тратой времени.

...