MFC:CMFCToolBar SetButtonStyle 不与样式TBBS_PRESSED一起旋转
MFC: CMFCToolBar SetButtonStyle not wirking with style TBBS_PRESSED?
by控制中有错误吗? 还是我做错了什么?
在 .h
中 CMFCToolBar m_wndToolBar;
在消息映射
中 ON_COMMAND(ID_MYID, &CMainFrame::OnToolBar)
void CMainFrame::OnToolBar()
{
int nIndex = m_wndToolBar.CommandToIndex(ID_MYID);
UINT nState = m_wndToolBar.GetButtonStyle(nIndex);
if(nState & TBBS_PRESSED)
nState &= ~TBBS_PRESSED;
else
nState |= TBBS_PRESSED;
m_wndToolBar.SetButtonStyle(nIndex,nState);
m_wndToolBar.InvalidateButton(nIndex);
}
我需要设置按钮按下,当用户再次单击时,按钮变为未按下。
单击按钮没有任何反应 :(
只需为特定项创建一个ON_UPDATE_COMMAND处理程序。使用 pCmdUI->SetCheck 发出关闭或启动状态的信号。
MFC 从不直接更新工具栏和菜单。它们要求框架更新按钮和菜单项的状态。
您的说明表明您希望按钮具有"复选框"的行为。 如果正确,请确保为按钮样式指定TBBS_CHECKBOX。 您不需要在每次按下按钮时手动处理复选框状态的呈现。