关于对话框的问题

sunshine91 2007-01-24 10:15:46
我有一个继承自cwnd的窗体,里面有个add按钮,我想在点击这个按钮之后,出现一个对话框,在这上面输入资料,可是在运行时出错。

在add()
{
CDialog dlgAddUser;
dlgAddUser.DoModal();
}

int CDialog::DoModal()
{
// can be constructed with a resource template or InitModalIndirect
ASSERT(m_lpszTemplateName != NULL || m_hDialogTemplate != NULL ||
m_lpDialogTemplate != NULL);-------就是这里的断言出错,我调了一下,发现这几个都是空,

1,想请教,我该怎么办呢?

我想使用模态对话框。

2,另外怎么在这个对话框上加入编辑框和按钮控件呢?
...全文
146 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshine91 2007-01-24
  • 打赏
  • 举报
回复
OK,解决了,谢谢各位的帮忙啊。
sunshine91 2007-01-24
  • 打赏
  • 举报
回复
可以用cwnd做一个弹出的对话框吗?
是不是也照这样做呢?
sunshine91 2007-01-24
  • 打赏
  • 举报
回复
我照你说的做了,可是我看不到弹出的对话框,这样就不能关闭,其他的窗口也不能操作。
为什么看不到呢?

谢谢
东文-桑晨 2007-01-24
  • 打赏
  • 举报
回复
如楼上所说的

添加对话框的方法是 在 resource(资源)-〉Dialog(对话框)那里插入一个dialog
然后双击此对话框,通过Class wizard向导添加你的dialog的类(base dialog,基于CDialog的)

已经讲这么详细了,还不懂的话找些基础的书和范例来看吧。。。
wsb_8224 2007-01-24
  • 打赏
  • 举报
回复
这个类一般不要你自己加入的,通过类向导加入新类后,这些都自动生成了,你只须在需要的地方加入头文件和
MyDialog dlgAddUser;
dlgAddUser->DoModal();
wsb_8224 2007-01-24
  • 打赏
  • 举报
回复
首先要在资源窗口中加入一个对话框资源,然后通过类向导加入新类.然后你再用上面的代码就没有错了,注意还得加入相应的对话框头文件
sunshine91 2007-01-24
  • 打赏
  • 举报
回复
是说要在继承类中去实现吗?
我这么做了
class MyDialog : public CDialog
{

};

MyDialog dlgAddUser;
dlgAddUser->DoModal();

还是要出错啊
麻烦你了,我不是很明白
wsb_8224 2007-01-24
  • 打赏
  • 举报
回复
CDialog::DoModal
virtual int DoModal( );
==============
这个函数是一个纯虚函数,只有继承才能实现其功能
sunshine91 2007-01-24
  • 打赏
  • 举报
回复
wsb_8224(人在江湖飘啊,哪有不挨刀呀) ( ) 信誉:100 Blog

================================================================
可以问一下为什么要这么做吗?
wsb_8224 2007-01-24
  • 打赏
  • 举报
回复
CDialog dlgAddUser;
dlgAddUser.DoModal();
=========
应该先创建一个基于CDialog类的一个对话框类,然后再用这两条语句就好了
CMyDialog dlgAddUser;
dlgAddUser.DoModal();
CMyDialog是CDialog的一个子类
xdlous 2007-01-24
  • 打赏
  • 举报
回复
自己做一个对话框模板,然后从CDIALOG派生一个类就可以了
你可以看一下基于对话框的程序

15,979

社区成员

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

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