【初级】VS2015/MFC动态创建工具栏1(使用图标创建工具栏)

使用图标创建工具条,首先要创建图标列表,然后用工具栏关联相关图像列表,首先调用Create方法创建工具栏窗口,然后调用SetButtons方法设置工具栏按钮的索引,通过GetToolBarCtrl方法调用SetImageList方法关联图像列表,调用SetSizeas方法设置工具栏按钮和显示图标的大小,最后调用RepositionBars方法显示工具栏。

例子:

1.创建一个基于对话框的应用程序;

2.添加8个图标资源。

3.在对话框头文件中声明变量,代码如下:

	CToolBar m_ToolBar;                 //工具栏对象
	CImageList m_ImageList;             //列表视图对象

4.在对话框的OnInItDialog函数中创建工具栏,代码如下:

        m_ImageList.Create(32, 32, ILC_COLOR24 | ILC_MASK, 1, 1);           //创建图像列表
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON1));                 //向图像列表中添加图标
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON2));
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON3));
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON4));
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON5));
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON6));
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON7));
	m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON8));
	UINT array[11];                                                     //声明数组
	for (int i = 0; i < 11; i++)                                        //根据数组元素的个数进行循环
	{
		if (i == 3 || i == 7 || i == 9)                                 //判断是否为第4、8、10个按钮
			array[i] = ID_SEPARATOR;                                    //第4、8、10个按钮设为分隔条
		else
			array[i] = i + 1001;                                        //为数组元素赋值
	}
	m_ToolBar.Create(this);                                             //创建工具栏窗口
	m_ToolBar.SetButtons(array, 11);                                    //设置工具栏按钮的索引
	m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);              //关联图像列表
	m_ToolBar.SetSizes(CSize(40, 40), CSize(32, 32));                   //设置按钮和图标大小
	RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);    //显示工具栏


 

VC/VS工具栏图标合成软件 1. 增加,删除,排列位图按钮图片; 2. 详细记录每个新增图片的尺寸,大小,颜色深度,所在路径; 3. 图片来源可以有很多种格式(例如:*.ICO,*.BMP,*.JPG,*.GIF,*.PNG,*.TIF,...),同时也可以将程序中产生的图像存成多种格式; 4. 自动预览合成的图像,支持图像输出存盘; 5. 自动生成禁止(灰度)图像,支持图像输出存盘; 6. 支持16色,256色,真彩色和 32 位色位图图像; 7. 支持16X16, 24X24,32X32,48X48大小的图像输入,特别地,可以自定义将要生成图标的尺寸; 8. 支持从剪贴板输入位图图像,也支持将合成图像放入剪切板供其它图像处理程序处理; 9. 支持图片顺序调整,并可实时显示调整后所合成图像; 10. 支持鼠标右键菜单功能; 11. 选择图片时,支持图片自动预览; 12. 合并后图片(或其它可被横向等分的宽图片)可自动分解为原来未合并前的图片,支持图片顺序重新调整。 13. 支持透明色:图片背景色可设置为透明,用户可选择何种颜色作为透明色,此功能对带界面皮肤的软件来说,很有用处,无论皮肤界面的颜色如何变化,北京都能融入新的界面中; 14. 可将多个不同背景色的图片合成一个大图,并重新设置背景色; 15. 支持自选取背景色和手动设置背景色,特别地,设置颜色时有屏幕取色功能; 16. 程序中所有可以选定的图片均可以各种图片格式保存至磁盘;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值