1、一般用于非对话框的类中,工具栏按钮事件响应WM_IDLEUPDATECMDUI

//响应非模态对话框鼠标滑过工具栏事件
afx_msg void OnIdleUpdateCmdUI();
//用于响应非模态对话框工具栏鼠标滑过事件
ON_MESSAGE_VOID(WM_IDLEUPDATECMDUI, OnIdleUpdateCmdUI)
//非模态调用对话框的工具栏响应事件
void OnIdleUpdateCmdUI()
{
if ((m_pShowDlg != nullptr) && m_pShowDlg->IsWindowVisible())
{
m_pShowDlg->RefreshToolBar();
}
//UpdateDialogControls(this, FALSE);
}
void ShowDlg::RefreshToolBar()
{
m_wndToolBar.OnIdleUpdateCmdUI(TRUE, 0L);
}

2、用于模态对话框中的工具栏:

ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
afx_msg LRESULT OnKickIdle(WPARAM wParam, LPARAM lParam);
LRESULT ShowBDlg::OnKickIdle(WPARAM wParam, LPARAM lParam)
{
m_wndToolBar.OnIdleUpdateCmdUI(TRUE, 0L);
return 0;
}