我想实现在一个dll中创建窗口(无模式的),但是窗口大小位置要在我调用程序的时候传参数进去,不知道要如何作?

解决方案 »

  1.   

    参考
    http://www.vckbase.com/document/viewdoc/?id=543
      

  2.   

    导出一个函数,函数参数是你指定的创建窗口的参数,然后在该函数中new 出一个窗口
      

  3.   

    也普通函数一样写,只是注意使用资源的搜索链,AFX_MANAGE_STATE(AfxGetStaticModuleState());,或者自己用AfxSetResourceHandle()
      

  4.   

    可以在dll里面创建好,导出句柄使用也可以通过导出函数传递相应的参数在new出来,通过句柄使用
      

  5.   

    调用
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
      

  6.   

    我做在DLL中创建对话框,我想都差不多
      

  7.   

    dll中创建无模式窗口的过程如下: CMsgDlg* dlg=new CMsgDlg;
    dlg->Create(IDD_DIALOG1);
    dlg->ShowWindow(SW_SHOW);其中IDD_DIALOG1是你在dll工程的添加的对话框资源。至于你说的向dll传递参数,可以采用两种方式
    1.通过dll的导出函数,在你的应用程序调用dll时,向导出函数传递你需要的参数即可。
    2.通过ini配置文件,把窗口的属性写在一个配置文件中,然后dll去读这个文件。