给button等按钮和控件加背景色或者

给button等按钮和控件加背景色或者

ID:23714365

大小:46.50 KB

页数:7页

时间:2018-11-10

给button等按钮和控件加背景色或者_第1页
给button等按钮和控件加背景色或者_第2页
给button等按钮和控件加背景色或者_第3页
给button等按钮和控件加背景色或者_第4页
给button等按钮和控件加背景色或者_第5页
资源描述:

《给button等按钮和控件加背景色或者》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、给button等按钮和控件加背景色或者图片★5--2--1图标按钮图标按钮可谓是按钮控件使用图像最简单的方式,除此之外图标按钮的优点还在于显示在按钮上的图标能够使用透明色,因而不必再去为处理非矩形图像在按钮颜色发生变化时边缘颜色的处理而费心。不过也正是使用图标导致了图标按钮的天生弱点。图标太小了,仅仅才32×32像素大小,在有的场合仅靠使用这么小的图像就有些显得力不从心了。在讲图标按钮如何使用之前,先得告诉读者句柄的概念。句柄是什么?很多教科书上都这样定义:句柄是一个用于代表对象的32位整型值。不过这对于很多初学者而言,并不是太好理解。其实也可以将未赋值的句柄理解为一个指向“空白”(

2、void*)的指针,事实上也如此,在Winnt.h中,句柄就是如此被声明的:typedefvoid*HANDLE;当句柄被赋值之后,它就成为指向某个特定位置的指针,即代表了某个特定的对象。之所以在现在提及句柄,是因为句柄是Windows编程中的一个关键性概念。尽管在前面除第三章外的内容中很少涉及它,不过在下面的学习中我们将会很频繁的使用到句柄。技术概要:使用图标按钮很简单,大的步骤仅仅就三步:①.从外部导入一个图标或自己创建一个图标作为资源。②.从资源中载入所要使用的图标。③.在要使用图标的按钮上设置图标。具体实现:■第一步导入图标没有什么特别之处,同前面2.2节中使用静态图像控件导

3、入位图是非常类似的。无非就是使用Insert菜单上的Resource命令,导入或创建一个图标即可。■第二步载入图标就涉及到一些细节问题了。使用函数LoadIcon()载入图标。因为LoadIcon()是类CWinApp的成员函数,同时函数LoadIcon()返回所载入图标的句柄。所以我们采用以下方法来调用函数LoadIcon():h_Icon=AfxGetApp()->LoadIcon(IDI_Icon);    当然,在该语句之前还必须要有对图标句柄h_Icon的定义:HICONh_Icon;■第三步为按钮设置图标了,这通过调用函数SetIcon()来实现。同时不要忘记,还须在使用

4、图标的按钮的Properties设置中设置Icon属性,指明该按钮是一个图标按钮。因为函数SetIcon()为类CButton的成员函数,可以通过两种方法来调用该函数。一是通过CButton类对象来调用SetIcon(),如下面代码:           m_BtonIcon.SetIcon(h_Icon);     //m_BtonIcon为一个CButton类对象。    二是先由函数GetDlgItem()获得一个指向CWnd对象的指针,再通过强制类型转换将该指针转换为一个指向CButton类对象的指针。进而通过该指针来调用函数SetIcon()。具体实现代码如下:      

5、     CWnd*pWnd=    GetDlgItem(IDC_RADIO2);         CButton*pBton=(CButton*)pWnd;           pBton->SetIcon(h_Icon2);    既然有第一种较为简便的方法为按钮设置图标,为何还要提及第二种方法呢?因为并不是在任何情况下都会有CButton类对象的,例如对于一组单选按钮。只能为它们定义一个CButton类对象,如果使用该对象来调用函数SetIcon(),则只能在设置了Group属性的那个单选按钮上设置图标。所以要达到在一组单选按钮中分别设置不同图标的目的,就只有使用第二种方法。

6、      尽管在现在的Windows编程中,资源句柄数多得相对于我们而言几乎是无限的,但最好在使用完资源句柄后及时的把它们删除掉。上面所讲述的方法不仅适用于PushButton,而且同样适用于RadioButton、CheckBox和GroupBox。★5--2--2位图按钮图标按钮虽有着种种优点,但它能显示的图像实在是太小了。在有的场合显然就不适用了。位图按钮可以在按钮表面显示一幅位图而不再是一个小小的图标。但是因为在位图中不能使用透明色,因而当显示的位图不为矩形时,就得为位图中非矩形部分的背景色动一番脑筋了。因为存在着用户改变按钮表面颜色,也就是位图背景色的可能性。可以用透明位

7、图的技术来解决这一难题,这将在后面5.7实现具有透明性的位图中讲述。技术概要:位图按钮的使用的大致步骤同图标按钮基本相似,也是以下三个步骤:①从外部导入一个位图或自己创建一个位图作为资源。②从资源中载入所要使用的位图。③在要使用位图的按钮上设置位图。具体实现:      ■第一步从外部导入一个位图作为资源同使用图标按钮时是完全一致的,在此就不详细讲述了。      ■第二步中,利用函数LoadBitmap()从资源中载入位图。函数LoadBitmap()为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。