简介
建议类是基于丹尼尔龙芯:非活动的工具栏/禁用图像。我有固定的原代码中的一些错误。但仍然存在一些缺点左:从文件加载位图,并显示它是没有实现的功能工具栏上的按钮的大小是24??4,我没有改变它的接口。使用代码
只有2个名额,供自己使用,你需要编辑。
首先,诠释的CMainFrame::OnCreate中(LPCREATESTRUCT lpCreateStruct){ (CFrameWnd的:在OnCreate(lpCreateStruct)== -1)
160;返回-1; (!m_wndToolBar.CreateEx(这 TBSTYLE_FLAT,WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)| | !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
160;{
TRACE0("无法创建工具栏"\ nquot");
返回-1; / /未能创建 } * NUM,I,J = m_wndToolBar.GetToolBarCtrl()GetButtonCount(); NUM =新的int [J 1];
memset的(NUM,0,(J 1)* SIZEOF(INT)); NUM [0] = J / /按钮的数字,包括分隔符。 (I = 0; ILT;;我) {
160; 如果(ID_SEPARATOR == m_wndToolBar.GetItemID(I))
60; NUM [我1] = 1; } / /得到按钮info.zero代表 / / separators.the信息,用于钙 / /按钮的位置。 m_wndToolBar.SetFullColorImage(IDR_MAINFRAME_24
; RGB(255,0,255),NUM); / /第一个参数 / /指定的按钮位图资源ID, / /第二个是工具栏的backgroud的颜色。 (m_wndStatusBar.Create(本)!| | !m_wndStatusBar.SetIndicators(指标,
160; SIZEOF(指标)/ SIZEOF(UINT))) { TRACE0("无法创建状态栏\ nquot;); 返回-1; / /未能创建 } / / TODO:删除这三行,如果 &
#160;/ /你不希望该工具栏 / /可停靠 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(AMP; m_wndToolBar); delete []的数量;
160; 返回0;}
二是,改变这里的背景位图资源ID。所以,你必须添加位图到您的工作场所first.void的CMainFrame:OnChangebk()/ / TODO:添加您的命令处理程序代码 (whichbk) m_wndToolBar.UpdateBk(IDR_MAINFRAME_24
0; RGB(255,0,255),IDB_BITMAP1); 其他&
#160; m_wndToolBar.UpdateBk(IDR_MAINFRAME_24
60; RGB(255,0,255),IDB_BITMAP2); !whichbk = whichbk;}致谢谢谢xxxyyyzzz的翻译!谢谢DavidRipple的建议!