改变工具栏按钮状态的方法 VC
1、 通过CToolBarCtrl的成员函数EnableButton(), 代码如下:
CToolBarCtrl& rCtrl = this->m_wndToolBar.GetToolBarCtrl();
其中m_wndToolBar为工具栏(CToolBar类)对象
a) 一种是直接使用按钮ID调用EnableButton()
rCtrl.EnableButton(ID_...., FALSE/TRUE);
b) 另一种则是通过TBBUTTON结构体来获取按钮ID,使用到GetButton()函数,同为CToolBarCtrl成员。
TBBUTTON tBtn;
rCtrl.GetButton(0, &tBtn); //0为按钮在工具栏上的序号,0,1,2….
rCtrl.EnableButton(tBtn.idCommand, FALSE/TRUE);
2、通过类向导(Wizard)向目标按钮添加消息UPDATE_COMMAND_UI生成函数OnUpdateXXX(CCmdUI *pCmdUI), 直接在函数内改变按钮状态(不可用/可用)。
pCmdUI->Enable(FALSE/TRUE);