私はDelphi 5でOpenDialogを使用しています。私の問題は、My Applicationフォームの後ろに開くことです。私は、Windowsのダイアログボックスが後ろにあるかもしれないので、次のコードwindows OpenDialogは、Delphiの他のアプリケーションのバックグラウンドで開いています。どうやって前面に持ってきますか?
if UpperCase(SmSession.ApplicationName) = 'MYAPP' then
begin
Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST;
exit;
end
を使用してTOPで私のアプリケーションのフォームを設定します。申請書のコードを変更せずに、どうすれば前に出すことができますか?
これはopenDialogのに私のコードです:
EditParent.OpenDlg.InitialDir := EditParent.FDefaultDir;
EditParent.OpenDlg.FileName := EditParent.FFileName;
if EditParent.OpenDlg.Execute then
Begin
SplitFileDir(EditParent.OpenDlg.FileName, TmpDir, TmpFile);
if EditParent.ShowOnlyFileName then
EditParent.FileName := TmpFile
else
EditParent.FileName := EditParent.OpenDlg.FileName;
EditParent.Directory := TmpDir;
EditParent.SetPeerDirectoryBrowser;
End;
EditParent.OpenDlg.Free;
inherited Click;
終了。
正しいウィンドウハンドルをダイアログの所有者として使用するには、Delphi 5のダイアログコードをハックする必要があります。 –
OpenDlgは無料ですか?どうしてそれをするの? – Dsm
'BringWindowToTop(OpenDialog1.Handle); ' – Sami