MFC里如何创建工具栏
来源:互联网 发布:jquery.fly.js用法 编辑:程序博客网 时间:2024/06/09 20:38
开发环境VC6.0
工具栏需要自己完全编写代码添加,不需要画界面
在StdAfx.h里定义
#define ICONSUM 5
在编写的主框体类C***Dlg里添加如下变量:
private:
CImageList m_ImageList;
CToolBarCtrl m_ToolBar;
在C***Dlg类的On
//创建工具栏
TBBUTTON tbButton[ICONSUM] = {0}; //工具栏按钮数组
m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 0); //创建工具栏用的图像列表
m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON5)); //加载相应的图标
m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON3));
m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON1));
m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON2));
m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON4));
m_ToolBar.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, 0); //创建工具栏
m_ToolBar.SetImageList(&m_ImageList); //为工具栏附加图标列表
for(int i=0; i< ICONSUM; i++)
{
tbButton[i].dwData = NULL;
tbButton[i].fsState = TBSTATE_ENABLED; //按钮状态
tbButton[i].fsStyle = (BYTE)TBSTYLE_FLAT; //按钮风格
tbButton[i].iBitmap = i; //设置图标
}
tbButton[0].idCommand = ID_ATTENDANCE_RECORD; //为每个按钮指定一个命令ID
tbButton[1].idCommand = IDM_REQUEST_EMPLOYEE;
tbButton[2].idCommand = IDM_PAYLIP;
tbButton[3].idCommand = IDM_PORTFOLIO;
tbButton[4].idCommand = ID_ABOUT;
m_ToolBar.AddButtons(ICONSUM, tbButton); //为工具栏添加按钮
m_ToolBar.AutoSize(); //自动调整工具栏大小
m_ToolBar.SetStyle(TBSTYLE_FLAT | CCS_TOP); //设置工具栏风格
首先创建一个基于对话框的程序。
然后在工作区导入图标文件,再在类中定义my_toolbar,my_imagelist对象。
在On
代码如下:
//向列表中添加图标
m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON5));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON6));
UINT arry[10];
for(int i=0;i<6;i++)
{
if(i==3) //第四个按钮为分割条;
arry[i]=ID_SEPARATOR;
else
arry[i]=i+1001;
}
m_toolbar.Create(this);
m_toolbar.SetButtons(arry,7);
m_toolbar.SetButtonText(0,"登录系统"); //图片下面添加文字;
m_toolbar.SetButtonText(1,"文件管理");
m_toolbar.SetButtonText(2,"计算统计");
m_toolbar.SetButtonText(4,"联系方式");
m_toolbar.SetButtonText(5,"学生管理");
m_toolbar.SetButtonText(6,"远程连接");
m_toolbar.GetToolBarCtrl().SetButtonWidth(50,70);
m_toolbar.GetToolBarCtrl().SetImageList(&m_imagelist);
m_toolbar.SetSizes(CSize(70,50),CSize(32,32));//设置大小;
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
参考文献:http://www.cnblogs.com/kzloser/archive/2012/11/26/2787341.html
http://www.cnblogs.com/afarmer/archive/2011/05/07/2039534.html
- MFC里如何创建工具栏
- MFC创建自定义工具栏
- MFC工具栏创建和设计
- MFC 工具栏的自定义创建
- MFC - 创建工具栏(图文混合)
- 如何创建工具栏控件!
- mfc自定义工具栏如何锁定
- MFC手动创建带图标的工具栏
- MFC创建自己的工具栏(SDI)
- MFC工具栏的创建和实现ToolBar
- 如何在Word工具栏里添加MathType
- MFC程序如何去掉上面的工具栏
- 如何创建C#版浮动工具栏?
- 如何在对话框中创建工具栏CToolBar
- 如何创建C#版浮动工具栏?
- 如何创建C#版浮动工具栏?
- 如何创建C#版浮动工具栏?
- 【初级】VS2015/MFC动态创建工具栏1(使用图标创建工具栏)
- spring helloworld
- ZOJ-1403
- matlab的fopen
- .bss段的来历
- uva 10069 Distinct Subsequences
- MFC里如何创建工具栏
- java同步工具类
- bzoj1708[Usaco2007 Oct]Money奶牛的硬币
- 参数传递封装类KBundle
- Java集合框架官方教程(3):SortedSet/SortedMap接口
- 通过代码自定义cell(cell的高度不一致)
- php安装zlib后出现乱码
- ABAP中用函数定义后台作业的一个程序
- Python学习系列(一)(基础入门)