我使用delphi7 新建MDI Application 的例子,但是每次点击新建后新建的窗口就会在最前面,
请问如何能让当前子窗口保持在最前面?谢谢

解决方案 »

  1.   

    创建完新窗体以后执行
    当前窗体.SetFocus;
      

  2.   

    procedure TMainForm.ActionNewExecute(Sender: TObject);
    var
      OldChildForm, NewChildForm: TChildForm;  // TChildForm是自建的子窗体类
    begin
      OldChildForm := TChildForm(ActiveMDIChild);  // 取得当前活动子窗口
      Inc (Counter);
      NewChildForm := TChildForm.Create (Self);
      NewChildForm.Caption :=
        LowerCase (ExtractFilePath (Application.Exename)) +
        'text' + IntToStr (Counter) + '.txt';
      if Assigned(OldChildForm) then OldChildForm.Show  // 重新显示旧的窗口
      else NewChildForm.Show;
    end;