一个主窗体,一个按钮,一个面板
在按钮click后,调用一个DLL,显示里边的一个窗体
现在我想让DLL里的窗体显示在面板里,如何做?

解决方案 »

  1.   

    方法一:在DLL中写一个函数,传进面板的Handle,然后写SetParent。查看API
    方法二:用接口,DLL中的窗体类实现该接口。外部就可以用。
      

  2.   

    恩,我用方法一,可以显示了
    但是窗体只能用showmodal来显示,这样的话,主窗体就不能用了。如用show的话,DLL里的窗体显一下就没了,请问如何解决?
      

  3.   

    用BPL代替DLL:
    在子窗口中:
    MyForm:=TMyForm.Create(Application);
    MyForm.Parent:=TPanel(Application.MainForm.FindComponent('MyPanel'));
    MyForm.Show//MyForm.Showmodal;
      

  4.   

    BPL没用过,能不能提供点这方面的资料
      

  5.   

    bpl是一种特殊的dll,但它是面向对象的,仅能在delphi/BCB中使用。一个系统中使用bpl时只有一个application对象;使用dll时每个dll都有一个application对象,会使用操作变得困难。
      

  6.   

    还有就是,我现在程序已经用DLL了,所以最好还是我上面说的情况:=================================
     回复人: mingday(小山) ( ) 信誉:100  2005-10-12 14:07:00  得分: 0  
     
       恩,我用方法一,可以显示了
    但是窗体只能用showmodal来显示,这样的话,主窗体就不能用了。如用show的话,DLL里的窗体显一下就没了,请问如何解决?
    =================================
    所以最好能解决这个问题!  
     
      

  7.   

    ShowFormAsChild(Tform(Form1),Tform1,panel);
    显示一个窗体到另一个控件中