我的一点拙见:
在showmodal之前去掉MID窗口的WS_EX_APPWINDOW风格!
showmodal结束之后恢复!
呵呵,方法有点烂呵呵!我都有点不好意思说!

解决方案 »

  1.   

    但是如果用动态Load就没有这个问题了!
    var
      H: HWnd;
      iMy: procedure(MainApp:THandle);stdcall;
    begin
      H := LoadLibrary('ChildDll.dll');
      if H <> 0 then
      begin
        iMy:=GetProcAddress(H, 'CreateChildForm');
        if Assigned(iMy) then
          iMy(Application.handle);
      end;
    end;
      

  2.   

    只要你的MDI主程序中有一个不是动态LOAD的DLL,这个对话框就会跑到后面去!
    也就是说只要你在程序中有一句:
    procedure CreateChildForm(MainApp:THandle);stdcall; external 'ChildDll.dll';
    连OpenDialog.Execute出来的对话框也是会跑到你的主程序的后面去的!
      

  3.   

    你有没有用Spy等工具看看两种情况下的窗口风格各有什么不同吗?
      

  4.   

    to:liang_z(千山一刀之忍者神龟)
    你把简洁的示例代码发到