提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:鲍佳佳|2021-05-11 10:09:42.450|阅读 778 次
概述:上一节中讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
上一节中讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏。在内容开始前为大家介绍一款MFC界面开发控件:
Xtreme Toolkit Pro:是屡获殊荣的VC界面库,是MFC开发中最全面界面控件套包,它提供了Windows开发所需要的11种主流的Visual C++ MFC控件,包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Report Control、Shortcut Bar、Syntax Edit、Skin Framework 和Task Panel。
工具栏简介
工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。
一般工具栏中的按钮在菜单栏中都有对应的菜单项中,即点击工具栏按钮与点击菜单项的效果相同。但工具栏中的按钮都显式的排列出来,操作很方便,而且按钮上的图片描述功能更直观,所以工具栏作为用户操作接口来说比菜单更加便捷。
VS2010工具栏资源详解
鸡啄米仍然以VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)中创建的单文档工程Example34为基础,讲解工具栏资源。
在Example34工程中,打开Resource View资源视图,展开Example->Example34.rc->Toolbar,我们可以看到有一个ID为IDR_MAINFRAME的工具栏资源,双击打开,工具栏资源显示如下:
以IDR_MAINFRAME工具栏的第一个按钮为例说明工具栏按钮的各项属性。用鼠标单击工具栏资源上的第一个按钮,属性页中就会显示其属性。下面分别讲解各项属性。
ID属性:ID_FILE_NEW。不知大家是否还记得,菜单IDR_MAINFRAME的菜单项File->New的ID也是ID_FILE_NEW,两者ID相同,正是如此才使得工具栏第一个按钮与菜单项File->New能实现相同的功能。所以大家一定要记住,如果想让工具栏某个按钮与菜单栏某个菜单项点击后执行的操作相同,就要为两者设置相同的ID。
Prompt属性:Create a new document\nNew。此属性为工具栏按钮的提示文本。在鼠标指向此按钮时,状态栏中会显示“Create a new document”,当弹出提示信息窗口时会显示包含“New”的提示信息。“\n”是两者的分隔转义符。
Height属性:15。此属性为工具栏按钮的像素高度。
Width属性:16。此属性为工具栏按钮的像素宽度。
工具栏资源的最右边总是会有一个待编辑的按钮,我们对其进行编辑后,工具栏资源会自动增加一个新的空白按钮,这也实现了按钮的添加操作。如果我们想要删除某个按钮,就可以用鼠标左键点住它,拖出工具栏资源的范围即可。
另外,我们看到,第三个按钮(保存按钮)和第四个按钮(剪切按钮)之间有一些间隙,在运行程序后会出现一个竖的分隔线,所以想要在两个按钮之间添加分隔线的话,可以用鼠标左键拖住右边的按钮往右稍移动一些就可以了。
CToolBar类的主要成员函数
MFC为工具栏的操作提供了CToolBar类。下面介绍CToolBar类的主要成员函数。
virtual BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = TBSTYLE_FLAT,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
CRect rcBorders = CRect(0, 0, 0, 0),
UINT nID = AFX_IDW_TOOLBAR
);
创建工具栏对象。参数pParentWnd为工具栏父窗口的指针。参数dwCtrlStyle为工具栏按钮的风格,默认为TBSTYLE_FLAT,即“平面的”。参数dwStyle为工具栏的风格,默认取值WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,由于是主框架窗口的子窗口,所以要有WS_CHILD和WS_VISIBLE风格,CBRS_ALIGN_TOP风格表示工具栏位于父窗口的顶部, 各种风格可以参见MSDN的Toolbar Control and Button Styles中的定义。参数rcBorders为工具栏边框各个方向的宽度,默认为CRect(0, 0, 0, 0),即没有边框。参数nID为工具栏子窗口的ID,默认为AFX_IDW_TOOLBAR。
BOOL LoadBitmap(UINT nIDResource);
为工具栏加载位图。参数nIDResource为位图资源的ID。成功则返回TRUE,否则返回FALSE。注意,这里的位图资源应当为每个工具栏按钮都提供位图,如果图片不是标准大小(16像素宽,15像素高),则需要调用SetSizes成员函数调整按钮大小和图片大小。
BOOL LoadToolBar(UINT nIDResource);
加载由nIDResource指定的工具栏。参数nIDResource为要加载的工具栏的资源ID。成功则返回TRUE,否则返回FALSE。
void SetSizes(SIZE sizeButton,SIZE sizeImage);
设置工具栏按钮的大小和图片的大小。参数sizeButton为工具栏按钮的像素大小。参数sizeImage为图片的像素大小。
void SetButtonStyle(int nIndex,UINT nStyle);
设置工具栏按钮或分隔线的风格,或者为按钮分组。参数nIndex为将要进行设置的按钮或分隔线的索引。参数nStyle为按钮风格,可以是以下取值:
TBBS_BUTTON 标准按钮(默认)
TBBS_SEPARATOR 分隔条
TBBS_CHECKBOX 复选框
TBBS_GROUP 标记一组按钮的开始
TBBS_CHECKGROUP 标记一组复选框的开始
TBBS_DROPDOWN 创建下拉列表按钮
TBBS_AUTOSIZE 按钮的宽度根据按钮文本计算,而不基于图片大小
TBBS_NOPREFIX 按钮的文本没有快捷键前缀
UINT GetButtonStyle(int nIndex) const;
获取工具栏按钮或分隔条的风格。风格可参考SetButtonStyle。参数nIndex为按钮或分隔条的索引。
BOOL SetButtonText(int nIndex,LPCTSTR lpszText);
设置工具栏按钮的文本。参数nIndex为工具栏按钮的索引。参数lpszText为指向要设置的文本字符串的指针。设置成功则返回TRUE,否则返回FALSE。
CString GetButtonText(int nIndex) const;
获取工具栏按钮上显示的文本。参数nIndex为工具栏按钮的索引。
本节内容就讲到这里了,下节继续讲解VS2010工具栏的有关知识。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢