VC++添加工具栏
VC添加工具栏
方法一:添加ICON图标
1. 新建一个基于对话框的项目:Test
2. 在类CTestDlg中, 添加两个变量:
CToolBarCtrl m_ToolBar1;
CImageList m_ImageList;
3.添加图标(例5个.icon图标)
4. 在#include "TestDlg.h"中 添加 #define ID_TOOLBAR1 1000
5. 在OnInitDialog()初始化:
const int ARR_MAX = 5;
m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 0);
m_ToolBar1.EnableAutomation();
m_ToolBar1.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, ID_TOOLBAR1);
UINT Resource[ARR_MAX] = {IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4, IDI_ICON5};
int i;
TBBUTTON button[ARR_MAX];
for(i = 0; i < ARR_MAX; i++)
{
m_ImageList.Add(::LoadIcon(::AfxGetResourceHandle(), MAKEINTRESOURCE(Resource[i])));
}
m_ToolBar1.SetImageList(&m_ImageList);
for(i = 0; i < ARR_MAX; i++)
{
button[i].dwData = 0;
button[i].fsState = TBSTATE_ENABLED;
button[i].fsStyle = TBSTYLE_BUTTON;
button[i].iBitmap = i;
}
m_ToolBar1.AddButtons(ARR_MAX, button);
//TBBUTTON Wrap;//创建一个分隔条
//Wrap.dwData = 0;
//Wrap.fsState = TBSTATE_ENABLED;
//Wrap.fsStyle = TBSTYLE_SEP;
//m_ToolBar1.InsertButton(3, &Wrap);
//m_ToolBar1.AutoSize();
m_ToolBar1.SetStyle(TBSTYLE_FLAT | CCS_TOP);
——————————————————————————————————————
方法二:自己绘制的
1. 添加资源(一个IDR_TOOLBAR1)
2. 在类CTestDlg中, 添加变量:
CToolBar m_ToolBar;
3. 初始化中添加:
if(!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP) || !m_ToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar!");
return -1;
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
m_ToolBar.ShowWindow(SW_SHOW);
VC++添加工具栏的更多相关文章
- Java基础之处理事件——添加工具栏(Sketcher 7 with File toolbar buttons)
控制台程序. 工具栏在应用程序窗口中通常位于内容面板顶部的菜单栏下,包含直接访问菜单选项的按钮.在Sketcher程序中可以为最常用的菜单项添加工具栏. 工具栏是javax.swing.JToolBa ...
- VSTO Word2003 添加菜单栏, 添加工具栏
直接上代码了: Microsoft.Office.Core.CommandBar menuBar; CommandBarButton ccbtn = null; CommandBar ...
- 1.1.7-学习Opencv与MFC混合编程之---为画图工具添加工具栏
源代码:http://download.csdn.net/detail/nuptboyzhb/3961701 哎,其实里面有很多图片的,本来看起开很明了的,资源连接里有详细的文档,比下面的看的舒服的多 ...
- 如何在BCGControlBar界面库的CBCGPFormView子视图里面添加工具栏
最近有一个项目需求,需要在子视图里面添加一个新工具栏用来处理当前视图对应模块的操作.之前在对话框模式下做过添加工具栏的实现,在CBCGPFormView中添加工具栏还是头一次.在这里记录一下,给自己留 ...
- VC添加全局热键的方法
VC添加全局热键的方法 这个方法靠谱 http://blog.csdn.net/lujianfeiccie2009/article/details/7498704 VC添加全局热键的方法 标签: bu ...
- Qt 给QWidget添加工具栏
在Qt中,给主窗口(QMainWindow类)添加工具栏非常方便,直接使用addToolBar 即可,如下所示: fileToolBar = addToolBar(tr("&File ...
- (转载)VC/MFC 工具栏上动态添加组合框等控件的方法
引言 工具条作为大多数标准的Windows应用程序的 一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开 ...
- VC/MFC 工具栏上动态添加组合框等控件的方法
引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发 ...
- VC MFC工具栏(CToolBar)控件
一.工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创 ...
随机推荐
- 高级Bash脚本编程指南
http://www.cnblogs.com/rollenholt/archive/2012/04/20/2458763.html
- jquery实现无缝滚动
//点击上一页 $('.pointLeft').click(function() { if (prevAllow) { prevAllow = false; scrollUlLeft = scroll ...
- 【转】频点CTO张成:基于Cocos2d的MMORPG开发经验
http://www.9ria.com/plus/view.php?aid=27698 作者: zhiyuanzhe3 发表时间: 2013-06-29 17:46 6月29日,由9Tech社区.51 ...
- Android(java)学习笔记121:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 理解
先看看网路上的说法: android.intent.action.MAIN决定应用程序最先启动的 Activity android.intent.category.LAUNCHER决定应用程序是否显示 ...
- WebSocket实时异步通信
WebSocket实时异步通信 [一]WebSocket简介 WebSocket是HTML5推出一个协议规范,用来B/S模式中服务器端和客户端之间进行实时异步通信. 众所周知,传统的HTTP协议中,服 ...
- WPF 中的绑定方式
1.元素间的绑定 xaml方式 <Slider Name="slider1" Value="20"/> <TextBlock T ...
- [转]Oracle ORA-01403: no data found Exception SYS_REFCURSOR
本文转自:http://stackoverflow.com/questions/9104153/what-is-the-correct-way-to-deal-with-this-oracle-ora ...
- uiatuomator提示shortMsg=java.lang.RuntimeException
自动化要做断言,原本打算使用的testng,因为它断言后就能出结果,还能生成报告,但是在实践过程中,硬是没有成功,所以还是放弃,使用的junit,后面使用的cts框架生成的邮件,现在记录使用junit ...
- [MSDN]使用 REST 处理文件夹和文件
msdn: http://msdn.microsoft.com/zh-cn/library/dn292553.aspx 了解如何使用 SharePoint 2013 REST 界面对文件夹和文件执行基 ...
- 默认安装wamp修改MySQL密码
首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车. 然后输入“use mysql”,意思是使用mysql这个数据库,提示“Database changed”就行. ...