CDialog::DoModal()罢工了,windows系统不卖他的帐! 你不会跟吗?在CFirstDialog::OnInitialDialog( )中加上断点,跟踪吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 检查CFirstDialog,看看是不是每一个都有含义. 请把CView::OnLButtonDblClk(nFlags,point); // TODO: Add your message handler code here and/or call default移到前面去 。 if(dlg.DoModal()==IDOK) { msg="你单击了确定键"; } else { msg="你取消了操作"; } 这样写不对,这样他会马上执行else操作。应把msg="你取消了操作";加到IDCANCEL的消息响应函数中 to leky2000(懒客) 能讲明白一点吗 这种情况可能是你在对话框资源上加上了自定义的控件,但有没有~~~~,你看看。另外可以跟踪一下DoDataExchange函数等等 你的dlg对话框中的返回函数全都有了OnCancel();或者dlg中的 initial函数中就返回IDCANCEL,故对话框没有出现 多谢这么多大哥为我排忧解难。但我上面的方式做了,可结果还是不行。dlg.DoModal;还是没起作用!我通过查资料发现,我这个对话框是 将原来的IDD_ABOUTBOX,该成我的IDD_EXADLG,然后才创建的,我怀疑这里可能有问题,但又不知道如何下手! if(dlg.DoModal()==IDOK) { msg="你单击了确定键"; } else { msg="你取消了操作"; } 这样写应该没问题! dlg.DoModal();//该操作是我自己加的书上没有。去掉了也是同样的问题。 本行不需要! ! void CEx04aView::OnLButtonDblClk(UINT nFlags, CPoint point) { CFirstDialog dlg; dlg.m_checkbox=TRUE; dlg.m_edit="对话框的列子"; dlg.m_radio=3; CString msg; // dlg.DoModal();//掉了也是同样的问题。 int re=dlg.DoModal();if(re==IDOK) { msg="你单击了确定键"; }if(re==IDCANCEL) { msg="你取消了操作"; } msg+="编辑框内容为:"; msg+=dlg.m_edit; msg+=dlg.m_selected; AfxMessageBox(msg); CView::OnLButtonDblClk(nFlags,point); // TODO: Add your message handler code here and/or call default } 你可以这样改一下回 请查看资源文件 IDD_EXADLG 是否有定义 DoModal调了两次,不对,我看你的dlg根本没生成 告诉大家一个好消息,我误打误撞,重新作了一个相同的程序,但我这次建立对话框和先前的不一样,是通过“inset-->resouse-->dialog"来创建的,别的东西几乎都没变。这样,问题就不存在了,但是我还是想不通。我第一次是从IDD_ABOUTBOX修改过来的,但我没有动OnAppAbout函数,我也改不来。我只是试一下,居然撞上了,但由于我是刚学,我还是不知道为什么? 是模式对话框还是无模式对话框,如果是前者,一般可以,而后者就肯定不行了。具体见msdn 帮助 关于model dialog 和modelless dialog论述 我刚学,当然是模式对话框!不怕各位大哥,大姐笑。我可不会用msdn。我的英语也不怎么样,还有10多天,我才过四级,也不知是否吉星高照? 意思是:#include "dlg.h"加在view.h里 请查看 在文件 “resource.h” 中是否有 “IDD_EXADLG”的定义 VC 如何禁用任意键点亮屏幕 如何实时显示选中的RadioButton号 一个诡异的dll初始化断言错误 关于CoCreateInstance的问题 关于BHO 哭求LockFile的用法 有没有高手做过类似Transport,FlashGet的软件啊? vc中运用access数据库显示的问题?? 编译问题 请问哪有关于installshield for vc++作安装程序的网站?? 初学者怎样才能速成???? WSAWaitForMultipleEvents为什么不等待具体事件发生?
// TODO: Add your message handler code here and/or call default
移到前面去
if(dlg.DoModal()==IDOK)
{
msg="你单击了确定键";
}
else
{
msg="你取消了操作";
}
这样写不对,这样他会马上执行else操作。应把msg="你取消了操作";加到IDCANCEL的消息响应函数中
能讲明白一点吗
另外可以跟踪一下DoDataExchange函数等等
或者dlg中的 initial函数中就返回IDCANCEL,故对话框没有出现
{
msg="你单击了确定键";
}
else
{
msg="你取消了操作";
}
这样写应该没问题!
本行不需要!
void CEx04aView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
CFirstDialog dlg;
dlg.m_checkbox=TRUE;
dlg.m_edit="对话框的列子";
dlg.m_radio=3;
CString msg;
// dlg.DoModal();//掉了也是同样的问题。
int re=dlg.DoModal();
if(re==IDOK)
{
msg="你单击了确定键";
}
if(re==IDCANCEL)
{
msg="你取消了操作";
}
msg+="编辑框内容为:";
msg+=dlg.m_edit;
msg+=dlg.m_selected;
AfxMessageBox(msg); CView::OnLButtonDblClk(nFlags,point);
// TODO: Add your message handler code here and/or call default
}
你可以这样改一下回
我看你的dlg根本没生成
具体见msdn 帮助 关于model dialog 和modelless dialog论述
定义