美文网首页
MFC 添加 自定义 工具栏

MFC 添加 自定义 工具栏

作者: 星星之火666 | 来源:发表于2020-03-11 15:19 被阅读0次
    class CMainFrame : public CFrameWnd
    {
        void OnLoadToolBar();
        CImageList m_imgList;
        CToolBar m_ToolBar;
    }
    
    void CMainFrame::OnLoadToolBar()
    {
        const int arr_size = 1;
    
        m_imgList.Create(48, 48, ILC_MASK | ILC_COLOR24, 6, 3);
    
        HICON hIcon[arr_size];
    
        hIcon[0] = theApp.LoadIcon(IDI_iconFileManage);
        m_imgList.Add(hIcon[0]);
    
        UINT nArray[arr_size];
        for (int i = 0; i < arr_size; i++)
        {
            nArray[i] = ID_btnFileManage + i;
        }
    
        m_ToolBar.CreateEx(this); // 创建 工具栏 控件
        m_ToolBar.EnableToolTips(TRUE); // 激活 信息提示功能
    
        m_ToolBar.SetButtons(nArray, arr_size);
    
        m_ToolBar.SetSizes(CSize(60, 56), CSize(48, 48)); // 第一个是 按钮大小,第二个是 图像大小,按钮 比 图像 宽大7 高大6 以上
    
        m_ToolBar.GetToolBarCtrl().SetImageList(&m_imgList);
    
        m_ToolBar.ModifyStyle(0, TBSTYLE_TRANSPARENT); // 设置 工具栏背景色 透明
    
        RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
    }
    
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
        if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
            return -1;
    
        // TODO:  在此添加您专用的创建代码
        OnLoadToolBar();
    
        return 0;
    }
    

    按钮是灰色,是因为没有添加按钮消息函数,添加之后显示彩色

    相关文章

      网友评论

          本文标题:MFC 添加 自定义 工具栏

          本文链接:https://www.haomeiwen.com/subject/heqgdhtx.html