MFC框架中的问题
时间:2011-12-15
来源:互联网
先看下面书上代码:
C/C++ code
我不明白的是为什么要MSG oldState = pThreadState->m_lastSendMsg;
保存旧消息,书上的解释看不明白,想知道你们是怎样理解的?
(能说个例子吗)
C/C++ code
LRESULT AfxCallWndProc(CWnd* pWnd, HWND hWnd, UINT nMsg, WPARAM wParam = 0, LPARAM lParam = 0) { _AFX_THREAD_STATE* pThreadState = AfxGetThreadState(); // 因为可能会发生嵌套调用,所以要首先保存旧的消息,在函数返回时恢复 MSG oldState = pThreadState->m_lastSendMsg; // 更新本线程中变量m_lastSendMsg的值 pThreadState->m_lastSendMsg.hwnd = hWnd; pThreadState->m_lastSendMsg.message = nMsg; pThreadState->m_lastSendMsg.wParam = wParam; pThreadState->m_lastSendMsg.lParam = lParam; // 处理接受到的消息 // 将消息交给CWnd对象 LRESULT lResult; lResult = pWnd->WindowProc(nMsg, wParam, lParam); // 消息处理完毕,在返回处理结果以前恢复m_lastSendMsg的值 pThreadState->m_lastSendMsg = oldState; return lResult; }
我不明白的是为什么要MSG oldState = pThreadState->m_lastSendMsg;
保存旧消息,书上的解释看不明白,想知道你们是怎样理解的?
(能说个例子吗)
作者: hyz23je 发布时间: 2011-12-15
改变状态后要还原,
在MFC中画图也是这样的
在MFC中画图也是这样的
作者: tauke_wang 发布时间: 2011-12-15
引用 1 楼 tauke_wang 的回复:
改变状态后要还原,
在MFC中画图也是这样的
改变状态后要还原,
在MFC中画图也是这样的
不明白!能说具体点吗?
作者: hyz23je 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28