zoukankan      html  css  js  c++  java
  • 学习 MFC之 工具栏(二)

    对于InitToolBar()函数进行进一步解析:
    1、首先声明一个全局对象:  CToolBar m_toolbar;
    2、然后用create()创建toolbar:

    //创建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
    ");
            EndDialog(IDCANCEL);
        }

    注意点一:在创建ToolBar的过程中,设置ToolBar的Style风格,比如  CBRS_TOP   是用来设置ToolBar的位置(为最上),如果更改为CBRS_LEFT  在对话框的最左端。

    3、RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rcClientNew);
    作用:调用这个函数以在窗口的客户区中重定位控制条并改变其大小。nIDFirst和nIDLast参数定义了要在客户区内重定位的控制条ID的范围。nIDLeftOver参数指定了被用来重定位并改变大小,以填充客户区中没有被控制条覆盖的区域的子窗口(通常是视)的ID。

    4、创建CImageList位图

    //创建位图  CImageList
        HICON hIcon = NULL ;
        img.Create(32,32,ILC_COLOR32 | ILC_MASK,3,3);//加载图片大小,图片格式,图片数量
        COLORREF co = GetSysColor(COLOR_WINDOW);//获取当前窗口的颜色    
        img.SetBkColor(co);//图片背景颜色
        
        //将图片动态导入,并加载到列表(imageList)中
        hIcon =(HICON) ::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_ADD),IMAGE_ICON,32,32,0);//导入添加学生图片0
        img.Add(hIcon);

    注意点二:先创建一个放置图标的列表即所谓的CImageList  ,然后将图片导入并添加到队列中,其序列号(索引号)是从0开始!
    5、将CImageList与Toolbar关联起来
       

    m_toolbar.GetToolBarCtrl().SetImageList(&img);//将CImageList加载到toolbar中
    m_toolbar.SetButtons(NULL,6);//设置按钮数(包括分割线)

    6、将CImageList通过索引号加载到ToolBar的Button中,来设置Button信息!

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

  • 相关阅读:
    【算法研究】排序算法
    20121031 学习心得与体会
    循环有序数组查找(log(n))
    XmlDocument创建XML文档
    GCC地址对齐的2个方法
    打印getaddrinfo()返回的地址信息
    Java单例模式
    二叉搜索树的例子BST
    XmlTextWriter创建XML文档
    XmlDocument读取XML文档
  • 原文地址:https://www.cnblogs.com/haoyuanyuan/p/3161769.html
Copyright © 2011-2022 走看看