怎么样将DLL中的Form嵌入到EXE的主form中的一个Panel控件中,

解决方案 »

  1.   

    使用API: SetParent(Dllform.Handle,mainform.Panel.Handle);若要使dllform的caption消失也建議使用api:
    SetWindowlong
      

  2.   

    DLL中的Form嵌入到EXE的FORM中的PANEL控件中,已成功,但遇到新的问题,
    嵌入PANEL的FORM的大小总是不合适,不能将其大小刚好控制在其父类PANEL的大小,总会大一些
      

  3.   

    有設定form的top, left, height, width?長寬要和panel一致,top,left為0
      

  4.   

    现在又遇到新的问题,如果我要在一个页控件中嵌入多个DLL中的FORM时,怎么可以做到只打同一个DLL FORM一次,
    关闭后才可以再打开,同时如果页控件尺寸发生变化怎么样才能使其跟着发生变化,
    而且所有的DLL FORM都是以插件的形式存在于DLL函数.
    如果不是以插件的形式出现在DLL函数中,都是没有问题的,
    但DLL函数存在于插件中后,就不太可能象固定调入DLL时对DLL的相关信息进行保存.
      

  5.   

    你的主要問題已經解決了。這是另外的問題,先散分吧,散分了再說,哈哈!
    1、如果我要在一个页控件中嵌入多个DLL中的FORM时,怎么可以做到只打同一个DLL FORM一次, 
    关闭后才可以再打开
      這個問題可以這樣解決:你在loadlibrary時,不是有一個來接收地址的變量嗎?把它聲明為全局的,判斷是否為0就好;還有一個是通過API判斷是否存在相關的窗體類名即可,方法挺多的,自己再想想;
    2、如果页控件尺寸发生变化怎么样才能使其跟着发生变化
      這個問題可以這樣解決:在頁控件的Resize事件裡面處理窗體的大小;