各位大侠我在一个界面上设置了一个按钮 
我要让它弹出新窗体 
代码如下 
CUBARGAIN * uba=new CUBARGAIN();//弹出这个类的窗体 uba->Create(IDD_UBARGAIN_FORM,uba); <-这里老说Create的第二个参数有误,我改成this也不行,各位大侠帮帮我谢谢了小弟在线等 
uba->ShowWindow(true);

解决方案 »

  1.   

    CUBARGAIN  是从什么继承来的
      

  2.   

    CUBARGAIN是对话框吗? 还是直接从CWnd派生的
      

  3.   

    CUBARGAIN 是个什么类,是对话框类吗
      

  4.   

    如果CUBARGAIN是从CWnd继承的类,比如CChildWnd继承了CWnd.那么在按钮响应函数处,添加代码:
    pWnd=new CChildWnd();
    pWnd->Create(NULL,L"12",WS_OVERLAPPEDWINDOW,CRect(50,50,300,300),AfxGetMainWnd(),100);pWnd->ShowWindow(SW_SHOWNA);
    pWnd->UpdateWindow();
    如果CUBARGAIN是从CDialog继承的类,比如CCldDlg继承了CDialog.那么在按钮响应函数处,添加代码:pDlg=new CCldDlg();
    pDlg->Create(MAKEINTRESOURCE(IDD_BUTTON_DIALOG),AfxGetMainWnd());
    pDlg->ShowWindow(SW_SHOWNA);
    pDlg->UpdateWindow();
      

  5.   

    uba->Create(IDD_UBARGAIN_FORM,uba);
    第二个参数是父窗口的指针
    也可以省掉,默认以主窗口为父窗口
      

  6.   

    个人感觉问题是这个样子的
    首先,CUBARGAIN 要继承MFC自己的窗口类
    其次,你可以试一试第二个参数写成NULL试试
    我记得我都是写成NULL
    还有你可以调试看一看,我有一段时间调试的时候发现这个新申请的uba的地址(new过的)始终为00000x0
    不知道为什么
    等后来过一段时间就好了
      

  7.   

    你可以试一试第二个参数写成NULL试试 
    -----------------------------------
    第一个参数是窗体类名,第二参数是窗体标题,你改第二个参数没什么大用处,想想清楚呀。
      

  8.   

    谢谢你们
    前两天没上网
    不好意思
    谢谢大家~~~
    我改成NULL或者不写都不行
    不写就是第一个参数有问题
    写了NULL就是第二个参数有问题~~~
    我是在Insert里创建的
    基类是
    CFromView