首先说明:我的工具栏是自己继承了CToolBar类,在代码里动态创建的。
而且我想在程序启动时显示该工具栏,但是将工具栏上的按钮全部变灰(无效),只有在特定情况下才变亮(有效),记住,是全部。不是有些人想的按下按钮后再变灰。
谢谢!给第一个回答正确的200
而且我想在程序启动时显示该工具栏,但是将工具栏上的按钮全部变灰(无效),只有在特定情况下才变亮(有效),记住,是全部。不是有些人想的按下按钮后再变灰。
谢谢!给第一个回答正确的200
我是这样作的,可以
在.H文件中定义
CToolBar m_wndToolBar;
然后创建TOOLBAR
// Create the Toolbar and attach the resource
if(!theApp.m_wndToolBar.Create(this) || !theApp.m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to Create Dialog Toolbar\n");
return FALSE;
} theApp.m_wndToolBar.SetBarStyle(theApp.m_wndToolBar.GetBarStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);
// Make it flat.
theApp.m_wndToolBar.ModifyStyle(0, theApp.m_wndToolBar.GetStyle()|TBSTYLE_FLAT);用一个函数来控制BUTTON的有效性
void CInstallBuilderApp::EnableToolbarButton(BOOL b)
{
if (b)
{
CToolBarCtrl *btn=(CToolBarCtrl*)&m_wndToolBar.GetToolBarCtrl();
btn->EnableButton(ID_RUN,true);
}
else
{
CToolBarCtrl *btn=(CToolBarCtrl*)&m_wndToolBar.GetToolBarCtrl();
btn->EnableButton(ID_RUN,false);
}
}ID_RUN就是要控制的BUTTON ID, IDR_TOOLBAR1是TOOLBAR资源