单文档中动态创建有图标的工具栏
2015-02-04 11:47
190 查看
在做项目的时候,需要去掉系统自带的工具栏,添加我们自己创建的工具栏,但是为了看上去美观,我们可以在工具栏上添加相应的图标,具体的实现方法如下:
1、在网上搜集资源图标(.ico格式)的,如果不好找,下面附件中会上传一部分我搜集的资源图标。
2、在资源视图中将需要的资源图标导入工程中。
3、在CMainFrame类中创建CToolBar和CImageList对象
[cpp]
view plaincopyprint?
//装载工具栏上资源图片 CImageList m_ImgList; //创建新的工具栏 CToolBar m_newToolBar;
4、在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中添加如下代码:
[cpp]
view plaincopyprint?
......
/去掉工具栏
m_wndToolBar.ShowWindow(SW_HIDE);
//设置自己的工具栏
SetIcon(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)),TRUE);
//加载资源图片
m_ImgList.Create(32,32,ILC_COLOR24 | ILC_MASK,1,1);
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_BIG));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_SMALL));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CHECK));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_USER_MAG));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATE));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATA_CHECK));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATE_ANYS));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CAR_INFO));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_LOCAL));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_HELP));
//设置右工具栏中有10个小按钮
UINT Array[10];
for(int i = 0; i < 11; i++)
{
//添加分隔符
if(i == 3)
{
Array[i] = ID_SEPARATOR;
}
else
{
//代表其中按钮的地址(方面为其按钮添加消息响应函数)
Array[i] = 9000+i;
}
}
//创建工具栏
m_newToolBar.Create(this);
//设置按钮
m_newToolBar.SetButtons(Array,11);
//设置按钮图标文字
m_newToolBar.SetButtonText(0,"放大");
m_newToolBar.SetButtonText(1,"缩小");
m_newToolBar.SetButtonText(2,"移动");
m_newToolBar.SetButtonText(4,"账户管理");
m_newToolBar.SetButtonText(5,"日志管理");
m_newToolBar.SetButtonText(6,"数据查询");
m_newToolBar.SetButtonText(7,"数据分析");
m_newToolBar.SetButtonText(8,"车辆信息");
m_newToolBar.SetButtonText(9,"定位");
m_newToolBar.SetButtonText(10,"帮助");
//设置按钮大小
m_newToolBar.GetToolBarCtrl().SetButtonWidth(60,120);
//将按钮和资源图标相关联
m_newToolBar.GetToolBarCtrl().SetImageList(&m_ImgList);
m_newToolBar.SetSizes(CSize(70,60),CSize(32,32));
//激活鼠标提示功能
m_newToolBar.EnableToolTips(TRUE);
//显示工具栏
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
......
6、显示效果图:
1、在网上搜集资源图标(.ico格式)的,如果不好找,下面附件中会上传一部分我搜集的资源图标。
2、在资源视图中将需要的资源图标导入工程中。
3、在CMainFrame类中创建CToolBar和CImageList对象
[cpp]
view plaincopyprint?
//装载工具栏上资源图片 CImageList m_ImgList; //创建新的工具栏 CToolBar m_newToolBar;
//装载工具栏上资源图片 CImageList m_ImgList; //创建新的工具栏 CToolBar m_newToolBar;
4、在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中添加如下代码:
[cpp]
view plaincopyprint?
......
/去掉工具栏
m_wndToolBar.ShowWindow(SW_HIDE);
//设置自己的工具栏
SetIcon(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)),TRUE);
//加载资源图片
m_ImgList.Create(32,32,ILC_COLOR24 | ILC_MASK,1,1);
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_BIG));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_SMALL));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CHECK));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_USER_MAG));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATE));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATA_CHECK));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATE_ANYS));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CAR_INFO));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_LOCAL));
m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_HELP));
//设置右工具栏中有10个小按钮
UINT Array[10];
for(int i = 0; i < 11; i++)
{
//添加分隔符
if(i == 3)
{
Array[i] = ID_SEPARATOR;
}
else
{
//代表其中按钮的地址(方面为其按钮添加消息响应函数)
Array[i] = 9000+i;
}
}
//创建工具栏
m_newToolBar.Create(this);
//设置按钮
m_newToolBar.SetButtons(Array,11);
//设置按钮图标文字
m_newToolBar.SetButtonText(0,"放大");
m_newToolBar.SetButtonText(1,"缩小");
m_newToolBar.SetButtonText(2,"移动");
m_newToolBar.SetButtonText(4,"账户管理");
m_newToolBar.SetButtonText(5,"日志管理");
m_newToolBar.SetButtonText(6,"数据查询");
m_newToolBar.SetButtonText(7,"数据分析");
m_newToolBar.SetButtonText(8,"车辆信息");
m_newToolBar.SetButtonText(9,"定位");
m_newToolBar.SetButtonText(10,"帮助");
//设置按钮大小
m_newToolBar.GetToolBarCtrl().SetButtonWidth(60,120);
//将按钮和资源图标相关联
m_newToolBar.GetToolBarCtrl().SetImageList(&m_ImgList);
m_newToolBar.SetSizes(CSize(70,60),CSize(32,32));
//激活鼠标提示功能
m_newToolBar.EnableToolTips(TRUE);
//显示工具栏
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
......
...... /去掉工具栏 m_wndToolBar.ShowWindow(SW_HIDE); //设置自己的工具栏 SetIcon(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)),TRUE); //加载资源图片 m_ImgList.Create(32,32,ILC_COLOR24 | ILC_MASK,1,1); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_BIG)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_SMALL)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CHECK)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_USER_MAG)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATE)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATA_CHECK)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_DATE_ANYS)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CAR_INFO)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_LOCAL)); m_ImgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_HELP)); //设置右工具栏中有10个小按钮 UINT Array[10]; for(int i = 0; i < 11; i++) { //添加分隔符 if(i == 3) { Array[i] = ID_SEPARATOR; } else { //代表其中按钮的地址(方面为其按钮添加消息响应函数) Array[i] = 9000+i; } } //创建工具栏 m_newToolBar.Create(this); //设置按钮 m_newToolBar.SetButtons(Array,11); //设置按钮图标文字 m_newToolBar.SetButtonText(0,"放大"); m_newToolBar.SetButtonText(1,"缩小"); m_newToolBar.SetButtonText(2,"移动"); m_newToolBar.SetButtonText(4,"账户管理"); m_newToolBar.SetButtonText(5,"日志管理"); m_newToolBar.SetButtonText(6,"数据查询"); m_newToolBar.SetButtonText(7,"数据分析"); m_newToolBar.SetButtonText(8,"车辆信息"); m_newToolBar.SetButtonText(9,"定位"); m_newToolBar.SetButtonText(10,"帮助"); //设置按钮大小 m_newToolBar.GetToolBarCtrl().SetButtonWidth(60,120); //将按钮和资源图标相关联 m_newToolBar.GetToolBarCtrl().SetImageList(&m_ImgList); m_newToolBar.SetSizes(CSize(70,60),CSize(32,32)); //激活鼠标提示功能 m_newToolBar.EnableToolTips(TRUE); //显示工具栏 RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); ......5、我收集的资源图标连接地址: http://download.csdn.net/my
6、显示效果图:
相关文章推荐
- 单文档中动态创建带有图标的工具栏
- 【初级】VS2015/MFC动态创建工具栏1(使用图标创建工具栏)
- VC创建bmp 图标,imagelist 制作 /生成 /工具栏
- ExtAspNet应用技巧(五) - 动态创建工具栏菜单
- 【MFC】动态创建CMFCToolbar图标不显示问题
- vc++单文档动态创建菜单
- VS2013MFC单文档工程学习笔记四 - 动态创建多个控件
- Extjs2.0 desktop 动态创建桌面图标和开始菜单
- ExtAspNet应用技巧(五) - 动态创建工具栏菜单
- C#动态创建工具栏 需引入com类库
- listbox 中动态创建图标
- 给单文档程序的工具栏动态增加提示的做法
- 动态改变工具栏按钮图标
- 创建动态工具栏并设置工具栏按钮提示
- (转载)动态创建地图文档MXD并发布地图服务
- 在单文档工程中创建工具栏
- 利用PHP和PEAR动态创建和编辑TAR文档
- 【转】利用PHP和PEAR动态创建和编辑TAR文档
- MFC工具栏动态创建Slider并生成消息响应
- 如何在 Windows XP“快速启动”工具栏上重新创建“显示桌面”图标