我做了一个modeless的对话框
这个对话框点击cancel的时候并没有释放掉,
下次打开实际上是让它再show出来
如下:
if(m_pMyDlg == (MyDlg*)NULL) {
m_pMyDlg = new MyDlg((CWnd*)this, this);
if(! m_pMyDlg->Create(IDD_MYDLG NULL)) {
AfxMessageBox("Dialog Creation failure");
m_pMyDlg = (MyDlg*)NULL;
return;
}
m_pMyDlg->ShowWindow(SW_SHOWNORMAL);
}
else {
//
// The dialog is already up
//
m_pMyDlg->ShowWindow(SW_SHOWNORMAL);
}现在的问题是我打开dlg第一次按回车不会关掉dlg,而是调用
某个按钮的动作,
但是当我按cancel关掉后,下次打开dlg,再按回车就会自动关掉dlg,
并且这时没有调用OnCancel
为什么呢,如何能按回车不关掉dlg呢
这个对话框点击cancel的时候并没有释放掉,
下次打开实际上是让它再show出来
如下:
if(m_pMyDlg == (MyDlg*)NULL) {
m_pMyDlg = new MyDlg((CWnd*)this, this);
if(! m_pMyDlg->Create(IDD_MYDLG NULL)) {
AfxMessageBox("Dialog Creation failure");
m_pMyDlg = (MyDlg*)NULL;
return;
}
m_pMyDlg->ShowWindow(SW_SHOWNORMAL);
}
else {
//
// The dialog is already up
//
m_pMyDlg->ShowWindow(SW_SHOWNORMAL);
}现在的问题是我打开dlg第一次按回车不会关掉dlg,而是调用
某个按钮的动作,
但是当我按cancel关掉后,下次打开dlg,再按回车就会自动关掉dlg,
并且这时没有调用OnCancel
为什么呢,如何能按回车不关掉dlg呢
解决方案 »
- 求类似于音乐播放器滚动歌词的算法
- 哪位能帮我看看这段代码 为什么不能完成数据更新
- (痛苦)用MSHTML做一个HTML转换,但取不到对象的坐标和大小
- 按钮的问题!
- 高分征求解决方案:我要做一个用HTTP协议通信的应用程序,服务器端和客户端都要分别做,具体如下...
- 对话框中显示时如何设置某一编辑框为当前焦点?
- 哪个函数可以创建文件夹
- 紧急求援!!我在有一万条乱序的struct记录,每个条struct包括(UpCode,Code)父子关系来表达二叉树节点,我如何才能根据这些记录快速的建立
- 初级问题!各位前辈请指点!
- 关于继承的不同类型
- 为什么float转int数值会变??
- 为何程序编译通过而连接会出错!!!!!!!!!!!!!!!!!
按 ENTER 键就是确定,即相当于按了 IDOK 按钮
按 ESC 键就是取消,即相当于按了 IDCANCEL 按钮即使你在资源里把 IDOK 按钮删除也没用。
MFC 我不太熟悉,不过在 SDK 中,只要我不响应 IDOK 消息就没事了:)
2. PretranslateMessage,过滤掉回车按键事件
有个性,
我不是这么小气的,
因为以前给的分数多,但是答案却让我没法把分数给某一个人
下面这个帖子我就给了100分,但是没有好的答案
http://community.csdn.net/Expert/topic/4255/4255867.xml?temp=.1030084
感谢楼上几位的方法
我会try的