我爱Aspx >> VC.Net >> <b>深入剖析MFC中Windows消息处理、运行机制</b>// will never be decremented
#endif
return FALSE;
}
#ifdef _DEBUG
if (m_nDisablePumpCount != 0)
{
TRACE0("Error: CWinThread::PumpMessage called when not permitted.\n");
ASSERT(FALSE);
}
#endif
#ifdef _DEBUG
if (afxTraceFlags & traceAppMsg)
_AfxTraceMsg(_T("PumpMessage"), &m_msgCur);
#endif
// process this message
if (m_msgCur.message != WM_KICKIDLE && !PreTranslateMessage(&m_msgCur))
{
::TranslateMessage(&m_msgCur);
::DispatchMessage(&m_msgCur);
}
return TRUE;
}
如你所想,这才是MFC消息处理的核心基地[也是我个人认为的]。
GetMessage不同于PeekMessae,它是不得到消息不罢体,PeekMessage如果发现消息队列中没有消息会返回0,而GetMessage如果发现没有消息,等,直到有了消息,而且,GetMessage不同于PeekMessage,它会将消息移走[当然,PeekMessage也可以做到这点]。我想当你读了这个函数后,你应明白PreTranslateMessage函数的用法了吧[我比较喜欢在程序中充分利用这个函数]。
【我对这篇文章有话说?】
<b>屏幕取词的原理</b&..[05-21]
<b>一个简单的显示文字控件..[05-21]
<b>VC中给树形控件的图标加..[05-21]
<b>一个简单的显示文字控件..[05-21]
<b>Win32环境下dll编程原理..[05-21]
<b>VB调用C程序的方法—动..[05-21]
<b>C++指针使用方法解惑&l..[05-21]
<b>一个简单的显示文字控件..[05-21]
<b>用户界面设计的技巧与技..[05-21]
<b>在VC中动态加载 ODBC的..[05-21]