永发信息网

多文档视图下的OnIdle和WM_KICKIDLE

答案:2  悬赏:20  手机版
解决时间 2021-12-23 09:38
  • 提问者网友:佞臣
  • 2021-12-23 00:08
由于在多文档视下,空闲时窗口都收不到WM_KICKIDLE消息,而只有app里面可以通过重载OnIdle函数来实现相同功能。
我希望我程序的主框架CMainFrame也能进行空闲处理,于是我在app的OnIdle里面这样写的:
LRESULT CMainFrame::OnKickIdle(WPARAM,LPARAM)
{
m_wndRender.PostMessage(WM_KICKIDLE,0,0);
return true;
}
在CMainFrame中添加了
ON_MESSAGE(WM_KICKIDLE, OnKickIdle)


LRESULT CMainFrame::OnKickIdle(WPARAM,LPARAM)
{
。。。
return true;
}
但这个OnKickIdle处理函数始终进不去,请问这是为什么,我该怎么做能达到这个效果?

说错了,在app的OnIdle里面这样写的:
BOOL CHumanApp::OnIdle(LONG lCount)
{
CWinApp::OnIdle(lCount);
m_pMainWnd->PostMessage(WM_KICKIDLE,0,0);
return true;
}
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-12-23 00:35
WM_KICKIDLE 好像不是windows 的标准消息。至少不是MS VC++ 6.0的标准消息。
自定义消息程序里需要添写“注册”部分。

WM_ENTERIDLE 是windows 的标准消息,处理IDLE的方法网上可找到较多。
不妨试试。
全部回答
  • 1楼网友:猎心人
  • 2021-12-23 01:30
期待看到有用的回答!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯