我用一个模态对话框调dialog1用了另个一个模态对话框dialog2,dialog2只是简单的选择一个数值,然后就自动关闭.然后 ,dialog1使用dialog2的公有成员变量.
最后在这个函数结束的时候,出现的这个中断:
ASSERT(::IsWindow(m_hWnd));

函数大致是这样子的
void CDialog1::fun()
{

if(...){
        CString csin;
        CDialog2 dialog2(csin);
      if(dialog2.DoModal() == IDOK)
      {
        csin = dialog2.m_csin;
      }
}

.......//做其他事情
}//执行到这个右括号的时候,触发ASSERT(::IsWindow(m_hWnd));中断,
我想不明白哪里错误了!

引用 37 楼 xylicon 的回复:
其实这样的问题,lz调试一下,看看堆栈出错的地方,不就知道是哪里出问题了吗。

看见大大的方法,第一次使用堆栈调试,
到这
CWnd* CWnd::GetTopLevelParent() const
{
if (GetSafeHwnd() == NULL) // no Window attached
return NULL;

ASSERT_VALID(this);

HWND hWndParent = m_hWnd;//到这中断了
HWND hWndT;
while ((hWndT = AfxGetParentOwner(hWndParent)) != NULL)
hWndParent = hWndT;

return CWnd::FromHandle(hWndParent);
}

可是我不明白是什么意思!

前一个调用我自己的函数是PreTr

anslateMessage(MSG* pMsg)
这里面的一个控件处理回车的信息!

PreTranslateMessage(MSG* pMsg)函数出错了,忘了返回了!

函数右括号错误! PreTranslateMessage(MSG* pMsg)未返回相关推荐

  1. MFC 中PreTranslateMessage(MSG* pMsg)截获按钮和编辑框的消息进行预处理

    在类向导自动为对话框添加PreTranslateMessage(MSG* pMsg)函数: BOOL CjilutestDlg::PreTranslateMessage(MSG* pMsg) {    ...

  2. MFC PreTranslateMessage(MSG* pMsg)中调用DoModal()模态窗口问题

    在PreTranslateMessage(MSG* pMsg)中调用DoModal()模态窗口如下: 1 BOOL CMainDlg::PreTranslateMessage(MSG* pMsg)   ...

  3. 使用PreTranslateMessage(MSG* pMsg)截获键盘数字键

    第一种:如果要截获大键盘数字键和小键盘数字键,采用如下方案: PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (pMsg-&g ...

  4. PreTranslateMessage(MSG* pMsg)专题

    .. BOOL CQuickMosaicDlg::PreTranslateMessage(MSG* pMsg) {if (pMsg->message==WM_KEYDOWN) //键盘按下 {i ...

  5. 对话框不响应WM_KEYDOWN消息,可以通过重载BOOL PreTranslateMessage(MSG * pMsg)来实现

    对话框程序中,如果不响应WM_KEYDOWN消息,可以通过重载PreTranslateMessage(MSG* pMsg)来实现 如下例: BOOL CShowImageDlg::PreTransla ...

  6. PreTranslateMessage(MSG* pMsg) 中 break 与return的区别

    程序一: BOOL CMyRichEditView::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (pMsg->me ...

  7. CTrackThread::PreTranslateMessage(MSG* pMsg)

    MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,我们可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来.只有穿过消息队列的消 ...

  8. oracle缺少有右括号,oracle ORA-00907错误:缺少右括号

    我使用的是Oracle10g Express版本,我尝试创建这个表,但是出现了一个错误,我需要一些帮助修复"ORA-00907:缺少右括号"的问题.我搜索了这个错误的解决方案,看起 ...

  9. ORA-00907:缺少右括号

    在创建以下表的时候出现ORA-00907:缺少右括号的错误,最后发现是字符串类型写错了,VARCHAR2写成了VARCAHR2, /*================================= ...

最新文章

  1. 未来医疗AI发展的八大趋势
  2. 【转载】如何:为 Windows Phone 创建警报和提醒
  3. java怎样读txt文件_【后端开辟】java怎样读写txt文件?
  4. 函数防抖Debounce和函数节流Throttle
  5. oracle命令格式,OraCmD(Oracle命令行工具) V3.1 官方版
  6. 简单有效!在CV/NLP/DL领域中,有哪些修改一行代码或者几行代码提升性能的算法?...
  7. c++ h cpp文件如何关联_C++核心准则SF.5: .cpp文件必须包含定义它接口的.h文件
  8. ajax post form上传图片,ajax怎样提交form表单与实现文件上传
  9. su、sudo、限制root远程登录
  10. mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...
  11. Wannafly交流赛1: B. 白兔的式子(组合数)
  12. 利用ENVI自带全球DEM数据计算区域平距高程
  13. Yii Framework2.0开发教程(1)配置环境及第一个应用HelloWorld
  14. 以太网安全技术ACL原理+配置
  15. 安装 mariadb全套教程
  16. linux wps 微软雅黑字体,微软雅黑字体下载,微软雅黑字体下载应用到wps
  17. 角色与使命:学生干部如何平衡工作与学习的关系?
  18. unity ToggleGroup和Toggle.isOn的坑
  19. ensp路由器MTU设置1200后,ping不通丢包问题
  20. 如何用 Telemetry 测试移动 APP H5性能?

热门文章

  1. 篇16:Windows安装配置Nessus时遇到的一些问题说明
  2. selenium+Python 刷视频视频播放量
  3. 2021年N1叉车司机免费试题及N1叉车司机考试总结
  4. android 测试机 知乎,appium 自动化测试之知乎Android客户端
  5. 多角度了解ABeam(德硕)技术架构
  6. 谷底c语言,谷底线的基本画法是什么?
  7. 【转载】快速入门(完整):Python实例100个(基于最新Python3.7版本)
  8. Python闭包理解
  9. C++学生管理系统课程设计
  10. 利用阿里云虚拟机作为跳板机实现内网穿透