以下是 COleMessageFilter 类的 EndBusyState 方法的一种可能实现:
void COleMessageFilter::EndBusyState()
{
// 减少忙碌状态计数
m_nBusyCount--;
// 如果计数为零,表示应用程序不再处于忙碌状态
if (m_nBusyCount == 0)
{
// 恢复正常消息处理
::EnableWindow(AfxGetMainWnd()->m_hWnd, TRUE);
::UpdateWindow(AfxGetMainWnd()->m_hWnd);
}
}
在这个示例中,EndBusyState 方法通过减少 m_nBusyCount 计数来标识应用程序结束忙碌状态。如果计数为零,表示应用程序不再处于忙碌状态,于是将窗口的处理消息的能力重新启用。
具体的实现可能因应用程序的需要而有所不同。
转载请注明出处:http://www.zyzy.cn/article/detail/21426/MFC/COleMessageFilter