新手学习MFC程序中,想创建一个对话窗模板,Crate时m_hWnd一直为0,很迷惑

在一个用户类中包含一个CUserDialog类的指针pUserDig,创建窗体的代码如下:pUserDlg=newCUserDialog(NULL);pUserDlg=C... 在一个用户类中包含一个CUserDialog类的指针pUserDig,创建窗体的代码如下:
pUserDlg=new CUserDialog(NULL);
pUserDlg=Create(IDD_USER_DIALOG);
pUserDlg->ShowWindow(SW_SHOW);
在程序运行到最后一句,显示pUserDlg->m_hWnd=0X00000000,不知道怎么回事,求高人指点?
ps:IDD_USER_DIALOG是对话窗模板编号。当模板上只有两个EDIT控件时没问题,在加上一个Button控件也没问题,可是删除Button,换成一个RichEdit控件时,就有问题了,删除问题如上所述。
展开
 我来答
bhtzu
推荐于2016-03-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4159万
展开全部
CUserDialog *pUserDlg;
pUserDlg=new CUserDialog(NULL);
pUserDlg->Create(IDD_USER_DIALOG,this);//要调用对话框类的create成员
pUserDlg->ShowWindow(SW_SHOW);
追问
调用了,上文中pUserDlg=Create(IDD_USER_DIALOG)写错了,我代码中是pUserDlg->Create(IDD_USER_DIALOG),后来改为
pUserDlg->Create(IDD_USER_DIALOG,NULL)和
pUserDlg->Create(IDD_USER_DIALOG,this)还是生成不对,生成的窗体句柄还是为0,会不会和内存有关?
追答
可能和CRichEdit有关,这个东西如果是VC6没打SP6补丁,是有BUG的,在对话框中会导致对话框创建失败。(解决办法:VC打补丁)

另外就是检查对话框代码是否有其它问题,造成对话框创建失败了,这个没有具体代码分析,不好说。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式