MFC 学习 之 工具栏的添加(一)

本文详细介绍了如何在对话框中添加并初始化ToolBar工具栏,包括添加按钮、导入图标、设置工具栏样式等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最终实现的效果图:

步骤一:接下来在资源视图中添加一个ToolBar工具栏(具体怎么添加在这儿就不详细讲解了!)
添加后的ToolBar以及工具栏中每个按钮 所命名的ID如下:(可以自定义,只要不重名就可以,一般命名规则是见名知义)

那么在资源视图中的工具栏,我们就制作完成了!!
步骤二:以上仅仅是进行了按钮的添加,而按钮上面那些相对应的 图片还没有导入,应该将图片导入到资源视图中的Icon中,格式必须为 *.ico,并对每张ICO图片也进行ID的分配


步骤三:打开代码添加一个 InitToolBar() 函数成员

BOOL CDormDlg::InitToolBar()
{
    initializeFlag  = TRUE;

    //创建ToolBar工具条
    if(!m_toolbar.CreateEx(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
                           | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || 
      !m_toolbar.LoadToolBar(IDR_TOOLBAR1))
    {
        TRACE0("Failed to Create Dialog ToolBar\n");
        EndDialog(IDCANCEL);
    }
    CRect rcClientOld;
    CRect rcClientNew;

    GetClientRect(rcClientOld);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rcClientNew);


    //创建位图  CImageList
    HICON hIcon = NULL ;
    img.Create(32,32,ILC_COLOR32 | ILC_MASK,3,3);//加载图片大小,图片格式,图片数量
    COLORREF co = GetSysColor(COLOR_WINDOW);
    
    img.SetBkColor(co);
    
    hIcon =(HICON) ::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_ADD),IMAGE_ICON,32,32,0);//导入添加学生图片0
    img.Add(hIcon);

    hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_DEL),IMAGE_ICON,32,32,0);//导入删除学生图片1
    img.Add(hIcon);

    hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_CHECK),IMAGE_ICON,32,32,0);//导入查询学生图片2
    img.Add(hIcon);


    //添加按钮信息
    m_toolbar.GetToolBarCtrl().SetImageList(&img);
    m_toolbar.SetButtons(NULL,6);

    m_toolbar.SetButtonInfo(0,IDC_TOOLBAR_ADDSTD,TBSTYLE_BUTTON,0);
    m_toolbar.SetButtonText(0,_T("添加学生"));

    m_toolbar.SetButtonInfo(1,-1,TBSTYLE_SEP,-1);
    m_toolbar.SetButtonText(1,_T(""));

    m_toolbar.SetButtonInfo(2,IDC_TOOLBAR_DELSTD,TBSTYLE_BUTTON,1);
    m_toolbar.SetButtonText(2,_T("删除学生"));

    m_toolbar.SetButtonInfo(3,-1,TBSTYLE_SEP,-1);
    m_toolbar.SetButtonText(3,_T(""));

    m_toolbar.SetButtonInfo(4,IDC_TOOLBAR_CHECKSTD,TBSTYLE_BUTTON,2);
    m_toolbar.SetButtonText(4,_T("查询学生"));

    m_toolbar.SetButtonInfo(5,-1,TBSTYLE_SEP,-1);
    m_toolbar.SetButtonText(5,_T(""));

    
    //设置工具栏按钮大小
    CRect rectToolBar;
    m_toolbar.GetItemRect(0,&rectToolBar);
    m_toolbar.SetSizes(rectToolBar.Size(),CSize(40,30));
    m_toolbar.SetSizes(CSize(80,50),CSize(40,30));    

    m_toolbar.EnableToolTips(TRUE);
//    m_toolbar.ShowWindow(SW_SHOW);
    return TRUE;
}

步骤四:然后将InitToolBar()函数添加到InitDialog()中!
以上就是所有的ToolBar工具栏的添加过程!


我们在对InitDialog()进行一个详细的剖析:后续

转载于:https://www.cnblogs.com/haoyuanyuan/p/3161300.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值