函数右括号错误! PreTranslateMessage(MSG* pMsg)未返回
我用一个模态对话框调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)未返回相关推荐
- MFC 中PreTranslateMessage(MSG* pMsg)截获按钮和编辑框的消息进行预处理
在类向导自动为对话框添加PreTranslateMessage(MSG* pMsg)函数: BOOL CjilutestDlg::PreTranslateMessage(MSG* pMsg) { ...
- MFC PreTranslateMessage(MSG* pMsg)中调用DoModal()模态窗口问题
在PreTranslateMessage(MSG* pMsg)中调用DoModal()模态窗口如下: 1 BOOL CMainDlg::PreTranslateMessage(MSG* pMsg) ...
- 使用PreTranslateMessage(MSG* pMsg)截获键盘数字键
第一种:如果要截获大键盘数字键和小键盘数字键,采用如下方案: PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (pMsg-&g ...
- PreTranslateMessage(MSG* pMsg)专题
.. BOOL CQuickMosaicDlg::PreTranslateMessage(MSG* pMsg) {if (pMsg->message==WM_KEYDOWN) //键盘按下 {i ...
- 对话框不响应WM_KEYDOWN消息,可以通过重载BOOL PreTranslateMessage(MSG * pMsg)来实现
对话框程序中,如果不响应WM_KEYDOWN消息,可以通过重载PreTranslateMessage(MSG* pMsg)来实现 如下例: BOOL CShowImageDlg::PreTransla ...
- PreTranslateMessage(MSG* pMsg) 中 break 与return的区别
程序一: BOOL CMyRichEditView::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if (pMsg->me ...
- CTrackThread::PreTranslateMessage(MSG* pMsg)
MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,我们可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来.只有穿过消息队列的消 ...
- oracle缺少有右括号,oracle ORA-00907错误:缺少右括号
我使用的是Oracle10g Express版本,我尝试创建这个表,但是出现了一个错误,我需要一些帮助修复"ORA-00907:缺少右括号"的问题.我搜索了这个错误的解决方案,看起 ...
- ORA-00907:缺少右括号
在创建以下表的时候出现ORA-00907:缺少右括号的错误,最后发现是字符串类型写错了,VARCHAR2写成了VARCAHR2, /*================================= ...
最新文章
- 未来医疗AI发展的八大趋势
- 【转载】如何:为 Windows Phone 创建警报和提醒
- java怎样读txt文件_【后端开辟】java怎样读写txt文件?
- 函数防抖Debounce和函数节流Throttle
- oracle命令格式,OraCmD(Oracle命令行工具) V3.1 官方版
- 简单有效!在CV/NLP/DL领域中,有哪些修改一行代码或者几行代码提升性能的算法?...
- c++ h cpp文件如何关联_C++核心准则SF.5: .cpp文件必须包含定义它接口的.h文件
- ajax post form上传图片,ajax怎样提交form表单与实现文件上传
- su、sudo、限制root远程登录
- mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...
- Wannafly交流赛1: B. 白兔的式子(组合数)
- 利用ENVI自带全球DEM数据计算区域平距高程
- Yii Framework2.0开发教程(1)配置环境及第一个应用HelloWorld
- 以太网安全技术ACL原理+配置
- 安装 mariadb全套教程
- linux wps 微软雅黑字体,微软雅黑字体下载,微软雅黑字体下载应用到wps
- 角色与使命:学生干部如何平衡工作与学习的关系?
- unity ToggleGroup和Toggle.isOn的坑
- ensp路由器MTU设置1200后,ping不通丢包问题
- 如何用 Telemetry 测试移动 APP H5性能?