我做好了几个单独运行的模块,各自都生成了exe执行文件。
    项目负责人又让做一个主窗体,主窗体上面是菜单,用这些菜单来调用相应模块的exe文件。
    运行时主窗体和那些单独的模块是分开的。现在想把这些执行文件嵌入到主窗体菜单下面的空余空间中,该怎么实现呢。?
    我的QQ:80201364
    这个项目很急的。希望能够尽快得到答案。

解决方案 »

  1.   

    每个得show里面,,'MyAppName_ControlForm是主窗体,TForm1是主窗体的类名
      borderstyle:=bsnone;
      align:=alclient;
      windows.setparent(handle,Findwindow('TForm1','MyAppName_ControlForm'));
      

  2.   

    动态在主窗口生成一个webborwser,将这些可执行文件放入webbrowser中
    或者用winexec不行吗?
      

  3.   

    做成DLL,在窗口的CREATE事件里调整位置行吗?
      

  4.   

    to:jinjazz(人雅的标记-落寞刺客)
        在我每个模块里的每个窗体的onshow事件里面都写这句话吗?请问原理是什么呢?
    请大侠指点。  
    to:lzy6204(为了忘却的记忆)
        webbrowser只能打开网页。打不开程序的。
    to:zdq801104(我很笨,但是我不傻!)
        具体怎么做呢。我不太懂你的思想。
      

  5.   

    exe 改为dll,然后通过dll的接口,创建并返回Main Form对象.
    主窗体就可以通过调用dll来得到子模块的Main Form, 设置Parent 属性到主窗体的Main Form.
      

  6.   

    我查了很多资料。很多都说要用到dock。
    我用dock遇到了错误,而且这样也很麻烦,我已经生成exe文件,应该有办法只设置主窗体,
    就应该可以实现窗口嵌入的。
    我用dock的代码是:  
      frm_pzh.Show;
      frm_pzh.ManualDock(pagecontrol1,nil,albottom);
      

  7.   

    to:lobby(lobby)
        我没有做过dll,可以将exe直接生成dll吗?如果不行具体该怎么做呢。?
      

  8.   

    TO liuyafang156() ,不能将exe直接生成dll的,要编写代码实现,去找一下DLL方面的资料,很多的
    我觉得在DLL窗口生成的同时编程自动调整位置,不过比较麻烦,要有点点试
      

  9.   

    将原来的窗体改成dll试试吧,也不用改多少代码。
      

  10.   


      uses shellapi;
    shellexecute(application.Handle,'open','執行文件', '', '',sw_show);
      

  11.   

    直接改成DLL挺麻烦的,如果在EXE和DLL间传递参数的话,好要考虑每个窗体实例的创建,管理和释放,从EXE过来可能花费很大。不如和你们负责人商量一下把主界面做成一个入口,只是调用每个不同的EXE就算了
      

  12.   

    不会啊,建议up:
    1用winexex,shellexecute
    2采用多个工程文件呢??