建立一个窗体form1,用dll封装。在主窗体mainform中调用dll窗体,并且在mainform上的panel中显示!!我是新手,老大们要详细点的答案!!

解决方案 »

  1.   

    将封装窗体的Parent设置成form1试试看
      

  2.   

    用parent属性设置是不行的,应该这样解决:
    DLL里面要传入主程序的Application,用这个替换DLL的Application(注意在释放DLL的时候要恢复这个Application),然后这样Application创建窗体并返回给主程序。
    主程序得到窗体之后,不能使用DllForm.Parent:=ExeForm.Panel1,而是要使用API函数:
    windows.SetParent(DllForm.Handle,ExeForm.Panel.Handle);用这句就可以显示在Panel上了
      

  3.   

    zzn2007我想给你加分,我怎么无权限?
      

  4.   

    呵呵,这个我就不清楚了,你需要问问管理员了。
    不要高兴太早,后续还有很多维护的这个DLL窗体的工作要做呢!比如,焦点在Dll Form上,主程序的标题栏变灰、程序切换出去,会切换不回来,Dll Form的控件步伐显示Hint、按下Alt+Tab不显示主程序应用图标我自己解决了一些,还有一些没找到答案呢,呵呵,有时间好好研究研究
      

  5.   

    楼上我也有这样的问题,您是怎么解决的,窗体停在Panel上按钮的提示信息不显,怎么办。