mfcwindow是新建的类IDD_DHK_MAIN是窗体ID
以下先声明
mfcwindow *gameform;
然后我想显示它
if(gameform==NULL)
{
gameform=new mfcwindow();gameform->Create(IDD_DHK_MAIN);}
gameform->ShowWindow(true);//true或SW_SHOW都可以
}以上代码gameform->Create(IDD_DHK_MAIN);这句错误提示: 1 error C2660: “CWnd::Create”: 函数不接受 1 个参数
应该如何弹出呢,请教高的们

解决方案 »

  1.   

    try一下gameform->Create(IDD_DHK_MAIN, this);
      

  2.   


    gameform->Create(IDD_DHK_MAIN,this);这样写也会出错,我移到它上面发现它的参数有七个.gameform->Create(NULL,NULL,IDD_DHK_MAIN,CRect( 0, 0, 0, 0 ),gameform,0,NULL);
    这样写不会出错,可窗体出不来错误 1 error C2673: “Gameproc”: 全局函数没有“this”指针
    错误 2 error C2660: “CWnd::Create”: 函数不接受 2 个参数

      

  3.   

    this 是写的父窗口句柄吧, 你把对话框属性设置成child再试试
      

  4.   

    不行,还是弹不出来,谁有完整的dll弹出窗体示例呢,是不是哪块不对呢
      

  5.   

    对,要让IDD_DHK_MAIN这个窗体显示出来,我用的vs2005
      

  6.   

    你用的是动态链接库创建的?  然后在测试中调用生成的.dll来显示?
      

  7.   

    gameform->Create(IDD_DHK_MAIN,pParentwnd);其中pParentwnd是你的父窗口注意dll资源冲突注意跨模块内存分配
      

  8.   

    需要一个资源切换,从EXE切换到DLL
      

  9.   

    gameform->Create(IDD_DHK_MAIN,pParentwnd);用这个也出错
      

  10.   

    报什么错?DLL中用到资源要加AFX_MANAGE_STATE(AfxGetStaticModuleState());