Enable/Disable toolbar buttons
-
I made a nice toolbar like this:
CToolBarCtrl ctrl; ctrl.Create(m_hWnd, NULL, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS, 0, ATL_IDW_TOOLBAR); ctrl.SetImageList(largeImages); TBBUTTON ToolbarButtons[12]; memset(ToolbarButtons, 0, sizeof(ToolbarButtons)); int n = 0; ToolbarButtons[n].iBitmap = 0; ToolbarButtons[n].idCommand = ID_FILE_SIGNIN; ToolbarButtons[n].fsState = TBSTATE_ENABLED; ToolbarButtons[n].fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE; ...etc ctrl.SetButtonStructSize(); ctrl.AddButtons(n+1, ToolbarButtons); ctrl.AutoSize(); return ctrl.m_hWnd;
The returned hWnd is added to the CMainFrame as a toolbar. Works perfectly. But how do i enable/disable buttons in my toolbar? Thank you! -
I made a nice toolbar like this:
CToolBarCtrl ctrl; ctrl.Create(m_hWnd, NULL, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS, 0, ATL_IDW_TOOLBAR); ctrl.SetImageList(largeImages); TBBUTTON ToolbarButtons[12]; memset(ToolbarButtons, 0, sizeof(ToolbarButtons)); int n = 0; ToolbarButtons[n].iBitmap = 0; ToolbarButtons[n].idCommand = ID_FILE_SIGNIN; ToolbarButtons[n].fsState = TBSTATE_ENABLED; ToolbarButtons[n].fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE; ...etc ctrl.SetButtonStructSize(); ctrl.AddButtons(n+1, ToolbarButtons); ctrl.AutoSize(); return ctrl.m_hWnd;
The returned hWnd is added to the CMainFrame as a toolbar. Works perfectly. But how do i enable/disable buttons in my toolbar? Thank you!Use the
TB_ENABLEBUTTON
message --Mike-- THERE IS NO THERE IS NO BUT THERE IS MAGIC PIXIE DUST BUSINESS GENIE CODE PROJECT Homepage | RightClick-Encrypt | 1ClickPicGrabber "You have Erica on the brain" - Jon Sagara to me -
I made a nice toolbar like this:
CToolBarCtrl ctrl; ctrl.Create(m_hWnd, NULL, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS, 0, ATL_IDW_TOOLBAR); ctrl.SetImageList(largeImages); TBBUTTON ToolbarButtons[12]; memset(ToolbarButtons, 0, sizeof(ToolbarButtons)); int n = 0; ToolbarButtons[n].iBitmap = 0; ToolbarButtons[n].idCommand = ID_FILE_SIGNIN; ToolbarButtons[n].fsState = TBSTATE_ENABLED; ToolbarButtons[n].fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE; ...etc ctrl.SetButtonStructSize(); ctrl.AddButtons(n+1, ToolbarButtons); ctrl.AutoSize(); return ctrl.m_hWnd;
The returned hWnd is added to the CMainFrame as a toolbar. Works perfectly. But how do i enable/disable buttons in my toolbar? Thank you!Add them to the UPDATE_UI_MAP. For example, UPDATE_ELEMENT(ID_FILE_PRINT, UPDUI_TOOLBAR) and then in the OnIdle() handler, have something like this: UIEnable(ID_FILE_PRINT, /* your boolean condition here */);