为什么创建非模态对话框出错。

bin_63 2012-07-04 02:52:08
首先我定义了void *pDl1;
pDl1 = NULL;
我添加了#include "Dong.h"头文件之后,
BOOL a=((CDong *)pDl1)->Create(IDD_DIALOG1,this);//a的值为1
BOOL b=((CDong *)pDl1)->ShowWindow(SW_SHOW);//b的值为0

为什么提示SW_SHOW未定义,而且b的返回值为0.
...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
调试运行 看看代码走到OnInitDialog里面没有
sunxc123 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 2 楼 的回复:

不好意思,我代码没上全,
在Create之前我先进行过判断
if (pDl1 == NULL) {
CDong *pdong = new CDong();
pDl1 = (void *)pdong;
}
[/Quote]
把new CDong()的括号去掉试试,动态创建类对象,不需要括号吧 调试跟踪看pdong取得什么值了
bin_63 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
[/Quote]
不好意思,我代码没上全,
在Create之前我先进行过判断
if (pDl1 == NULL) {
CDong *pdong = new CDong();
pDl1 = (void *)pdong;
}

liuli7786 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
pDl1指针为空,改成下面这样:

pDl1=new CStaticDlg1;
BOOL a=((CStaticDlg1 *)pDl1)->Create(IDD_DIALOG1,this);
BOOL b=((CStaticDlg1 *)pDl1)->ShowWindow(SW_SHOW);
[/Quote]
把CStaticDlg1改为你自己的类CDong
liuli7786 2012-07-04
  • 打赏
  • 举报
回复
pDl1指针为空,改成下面这样:

pDl1=new CStaticDlg1;
BOOL a=((CStaticDlg1 *)pDl1)->Create(IDD_DIALOG1,this);
BOOL b=((CStaticDlg1 *)pDl1)->ShowWindow(SW_SHOW);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧