基于对话框程序,自定义工具栏(支持真彩色图标,可添加文字)
来源:互联网 发布:知聊破解版无限聊币 编辑:程序博客网 时间:2024/05/02 02:24
对话框中添加工具栏
基于对话框程序,自定义工具栏(支持真彩色图标,可添加文字)
动机:传统的VC工具栏只支持16色的图标,且不能添加文字。
要点:CToolBarCtrl类的使用。先引用MSDN上的话(翻译水平比较菜,见谅!)
使用CToolBarCtrl类,一般遵从以下几个步骤:
1.构造一个CToolBarCtrl对象。
2.调用Create函数创建Windows工具条通用控件并与CToolBarCtrl对象相关联。
3.确定工具条上的按钮如何显示:
(1)使用位图图像。调用AddBitmap向工具条添加按钮位图
(2)使用图像列表里面显示的图像。调用SetImageList函数、SetHotImageList函数、SetDisabledImageList函数指定图像列表
(3)作用字符串标签。调用AddString和(或)AddStrings函数为工具栏添加字符串
4.调用AddButtons函数为工具条添加按钮结构
5.如果需要为不是CFrameWnd的拥有窗口添加工具提示,需要在工具条拥有窗口中传递TTN_NEEDTEXT消息,该消息在CToolBarCtrl: Handling Tool Tip Notifications中有所描述。
步骤:1.将要作为工具栏图标的位图或图标导入到VC资源管理器中。
2.在C***Dlg类为添加两个成员变量:CImageList m_ImageList,CToolBarCtrl m_ToolBar
3.在OnInitDialog()函数中添加如下代码:
/***************************************创建工具栏********************************************/
/***************************************创建工具栏********************************************/
3.最终效果如图:
注解:TBBUTTON是定义工具条按钮的结构体,声明如下:
typedef struct _TBBUTTON {int iBitmap;// zero-based index of button imageint idCommand; // command to be sent when button pressedBYTE fsState; // button state--see belowBYTE fsStyle; // button style--see belowDWORD dwData; // application-defined valueint iString;// zero-based index of button label string} TBBUTTON;
调用AddButtons函数向工具栏添加按钮。函数原型如下:
BOOL AddButtons( int nNumButtons, LPTBBUTTON lpButtons );
其中nNumButtons是要添加的按钮数目,lpButtons是指向TBBUTTON结构体的指针。
- 基于对话框程序,自定义工具栏(支持真彩色图标,可添加文字)
- [VC]基于对话框程序,自定义工具栏(支持真彩色图标,可添加文字)
- vc6 弹出对话框添加菜单,添加256真彩色工具栏
- MFC使用ToolBar工具栏添加真彩色图标
- 在基于对话框的MFC中添加工具栏以及工具栏提示信息并改变图标支持256色
- 添加自定义工具栏图标
- 在对话框里使用真彩色工具栏
- 自定义简单的工具栏类(真彩色)
- 自定义简单的工具栏类(真彩色)
- 给工具栏按钮添加图标和文字
- 在对话框添加真彩色的工具条
- 加载真彩色工具栏
- VC6.0中对话框增加真彩色工具栏及工具栏响应函数问题
- MFC工具栏bmp彩色图标
- 真彩色工具栏的创建
- 24位真彩色工具栏
- MFC 基于对话框的工具栏加载图标问题
- 自定义工具栏图标
- makefile教程---nmake命令编译器的使用
- asp.net的内置对象
- 使用 MFC 串行化数据和 C++ 对象
- 中国皇帝顺序(全)
- sort uniq cat grep apache_log
- 基于对话框程序,自定义工具栏(支持真彩色图标,可添加文字)
- Sql 中按天、周、月、年 进行分组查询
- 人民币大小写转换
- 链表
- SPLAYER中文字幕乱码
- 软件工程师的十个“不职业”行为
- Flex Accordion headerRenderer实现child收缩
- 更改sql server建表
- 通过重绘事件绘制透明Label