能不能将在DLL中调用的子窗口显是在主程序的panel里啊,记得平时的情况可以这样
form.parent:=panel1;
这样设置,但是这样的前提是子窗体和主的同在一个程序了,现在我的子窗体是在DLL中,
在这样不行,可能是在DLL中的form.parent找不到panel1吧,这该怎么办那

解决方案 »

  1.   

    你建立窗体的时候返回窗体的handle
    然后在你的程序里用setparent函数
      

  2.   

    你的那个帖子找不到了,呵呵
    还是这个吧:
    dll:
    library Project2;uses
      SysUtils,
      Classes,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}
    function getwin:Thandle;export;
    begin
     form1:=TForm1.Create(nil);
     result:=form1.handle;
    end;
    exports
    getwin;begin
    end.!!!!!!!!!!!!!!!!!!!!!!!!
    client:
     function getwin:Thandle;stdcall;external'project2.dll';
    procedure TForm1.Button1Click(Sender: TObject);
    var
      h:thandle;
    begin
      h:=getwin;
    showwindow(h,SW_SHOWNORMAL);
    windows.SetParent(h,panel1.Handle );
    end;