c++ - MFC:CMFCToolBar SetButtonStyle 不适用于样式 TBBS_PRESSED?

标签 c++ mfc toolbar cmfctoolbar

by是否有bug在控制?还是我做错了什么?

在.hCMFCToolBar 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;elsenState |= TBBS_PRESSED;m_wndToolBar.SetButtonStyle(nIndex,nState);m_wndToolBar.InvalidateButton(nIndex);}
通过单击按钮,我需要设置按下按钮,当用户再次单击时,按钮变为未按下状态。

单击按钮没有任何 react :(

最佳答案

只需为特定项目创建一个 ON_UPDATE_COMMAND 处理程序。
使用 pCmdUI->SetCheck 指示向下或向上状态。

MFC 从不直接更新工具栏和菜单。他们要求框架更新按钮和菜单项的状态。

关于c++ - MFC:CMFCToolBar SetButtonStyle 不适用于样式 TBBS_PRESSED?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19377680/

相关文章:

c++ - 无法打开包含文件 : 'log4cxx\logger.h' : No such file or directory

visual-studio - fatal error LNK1104 无法打开文件 C :\users\user\documents\visual. obj

c++ - Visual Studio 无法识别我的网络摄像头激光测距仪代码的 MFC 库

wpf - 无法隐藏工具栏夹点

c++ - 当我的代码在函数范围之外时,为什么会出现编译器错误 "does not name a type"?

C++:是什么导致了这个堆栈粉碎错误?

c++ - 在 CMake 中链接 C 和 CXX 文件

c++ - Apache Kafka 可以与 C++ 一起使用吗?

android - 在工具栏中添加图像,但它必须比工具栏大

android - 将 AppCompat 工具栏与 FrameLayout 一起使用