windows OpenDialog在Delphi的其他应用程序的后台打开,如何将它带到前面?

时间:2017-01-16 09:12:03

标签: delphi delphi-5

我在Delphi 5中使用OpenDialog。我的问题是它在My Application表单的后面打开。我使用以下代码

在TOP设置我的申请表
if UpperCase(SmSession.ApplicationName) = 'MYAPP' then
begin
  Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST;
  exit;
end

,因此窗口对话框可能位于后面。如何在不更改申请表格代码的情况下将其显示在前面?

这是我的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;

端;

1 个答案:

答案 0 :(得分:-1)

我使用的这个属性始终保持我的应用程序窗口。 Params.ExStyle:= Params.ExStyle或WS_EX_TOPMOST;

现在我评论了这一行并使用了另一个以下属性           Params.ExStyle:= Params.ExStyle或WS_EX_APPWINDOW;
          Params.WndParent:= GetDesktopWindow;
有用。