无UPDATE_COMMAND_UI消息
我有一个基于CFrameWnd为框架的应用,
在将它生成为EXE时,工具条能够正常接收并处理UPDATE_COMMAND_UI消息;
但将它生成为静态LIB,供基于对话框的另一个应用调用时,LIB内的Frame, View(包括工具条等)所有都无法收到UPDATE_COMMAND_UI消息。
我尝试在基于对话框的应用中,映射并处理了消息WM_KICKIDLE:
LRESULT CMainDlg::OnKickIdle(WPARAM wParam, LPARAM lParam)
{
UpdateDialogControls(this, TRUE);
return 0;
}
但仍然无法成功。请各位帮忙想想问题出在哪了?
我有个思路,帮忙看看是否可行:
静态LIB有个接口,在该接口内会创建FRAME并显示出来;现在把这个创建的FRAMW传出来给基于对话框的应用(假设为pLibFrame)。然后在WM_KICKIDLE的处理中,加入更新消息:
LRESULT CMainDlg::OnKickIdle(WPARAM wParam, LPARAM lParam)
{
UpdateDialogControls(this, TRUE);
pLibFrame->SendMessageToDescendants(WM_IDLEUPDATECMDUI, TRUE, 0);
return 0;
}
???
谢谢。