分享

MFC手动创建带图标的工具栏

 行走在理想边缘 2016-05-17

MFC手动创建带图标的工具栏

(2013-02-06 09:44:36)

很多时候我们需要自己创建工具栏。

1、创建基于对话框的工程

2、在OnInitDialog后面添加如下初始化代码

 //创建图像列表
 m_ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK, 1, 1); 
 //向图像列表中添加图图像
 CBitmap bmp;
 for(int n=0; n<5; n++)
 {
  bmp.LoadBitmap(IDB_BITMAP1 + n);
  m_ImageList.Add(&bmp, RGB(255, 255, 255));
  bmp.DeleteObject();
 }
 //定义工具栏命令ID数组
 UINT nArray[5];
 for(int i=0; i<5; i++)
 {
  nArray[i] = ID_ADDINFO + i;
 }
 m_Toolbar.CreateEx(this);
 m_Toolbar.SetButtons(nArray, 5);
 //设置工具栏按钮和按钮图像大小
 m_Toolbar.SetSizes(CSize(60, 56), CSize(24, 24));
 //设置工具栏文本
 m_Toolbar.SetButtonText(0, "信息添加");
 m_Toolbar.SetButtonText(1, "信息修改");
 m_Toolbar.SetButtonText(2, "信息删除");
 m_Toolbar.SetButtonText(3, "信息查询");
 m_Toolbar.SetButtonText(4, "信息保存");
 //设置工具栏按钮显示图标
 m_Toolbar.GetToolBarCtrl().SetImageList(&m_ImageList);
 //显示工具栏
 RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

3、添加命令消息响应

 定义命令宏

//定义工具栏按钮命令ID
 #define ID_ADDINFO  1001
 #define ID_UPDATEINFO 1002
 #define ID_DELINFO  1003
 #define ID_QUERYINFO 1004
 #define ID_SAVEINFO  1005

 响应命令消息

 ON_COMMAND(ID_ADDINFO, OnAddInfo)
 ON_COMMAND(ID_UPDATEINFO, OnUpdateInfo)

....

 ON_COMMAND(ID...)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多