我在Delphi 5中使用OpenDialog。我的问题是它在我的申请表后面打开。我使用以下代码将我的申请表设置在顶部
if UpperCase(SmSession.ApplicationName) = 'MYAPP' then
begin
Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST;
exit;
end
,因此窗口对话框可能位于后面。如何在不更改申请表代码的情况下将其放在前面?
这是我打开对话框的代码:
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;
结束;
我用于将应用程序窗口始终保持在顶部的此属性。Params.ExStyle := Params.ExStyle 或 WS_EX_TOPMOST;
现在我评论了这一行并使用了另一个以下属性 Params.ExStyle := Params.ExStyle 或 WS_EX_APPWINDOW;
Params.WndParent := GetDesktopWindow;
它有效。