我想在 MFC 工具栏上制作一个按钮,可以按下并保持其状态直到再次按下(如复选框),但我不想要复选框。理想情况下,我想要一个在两个图标之间切换的按钮,并使用 DDV 来更改按下时的 bool 值。我该怎么做。
作为一个附带问题,我真的可以用一本关于 MFC 的好书来解决这个问题。我有 Programming Windows with MFC 2nd edition,但想知道是否有更详细的内容?
使用 ON_UPDATE_COMMAND_UI
设置按钮的状态。例如典型的处理程序将如下所示:
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_UPDATE_COMMAND_UI(ID_MY_BUTTON, OnUpdateMyButton)
END_MESSAGE_MAP()
...
void CMyView::OnUpdateMyButton(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck( isButtonPressed() );
}
关于良好的 MFC 文档,我推荐 Professional MFC (Mike Blaszczak) - 它有点旧但非常好。
我是一名优秀的程序员,十分优秀!