读书频道 > 软件开发 > C++ > Visual C++入门很简单
3.给按钮关联资源
2013-08-22 13:27:48     我来说两句 
收藏    我要投稿   

本文所属图书 > Visual C++入门很简单

本书介绍Visual C++的函数调用形式、面向对象编程、MFC工作原理、开发软件流程及一些实用开发技巧。全书共15章,分为4篇。第1篇介绍Visual C++开发环境、C++语法基础及MFC运行机制;第2篇介绍利用Visual Stud...  立即去当当网订购

(1 )给“C++ 语言”按钮关联自定义的图标。

可以将“C++ 语言”按钮的 Icon 属性设置为True ,然后加载自定义的图标资源。在资源视图中右击Fif_Solu1.rc文件夹,在弹出的菜单中选择“添加资源”命令,会出现如图5.9 所示的“添加资源”对话框。


 

首先将“文件类型”文本框设置为“图标文件”,找到图标文件所在的文件夹,选择其中一个图标,然后单击“打开”按钮。这样就在资源视图的Icon 资源中多了一个名为IDI_ICON1 的图标资源。

将图标资源加载到项目后,就要在CFif_Solu1Dlg::OnInitDialog() 函数中添加相应的代码,如下:
01 HICON hBtnIcon;          //按钮对应图标
02 hBtnIcon = AfxGetApp()->LoadIconW(IDI_ICON1); //加载图标资源
03 btn1.SetIcon(hBtnIcon);       //按钮关联图标

在第01 行中定义一个HICON图标资源,第02 行是加载图标IDI_ICON1 到变量hBtnIcon 上,第03行是实现将图标变量的值关联到按钮上。

上面代码是其中一种方法,另外还有两种方法(主要不同在第02行),下面一一列出。

方法1 :

hBtnIcon = LoadIconW(AfxGetApp()->m_hInstance, (LPCWSTR)IDI_ICON1);

方法2 :

hBtnIcon = LoadIconW(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDI_ICON1));

(2 )给“C 语言”按钮关联自定义的位图资源。

同与图标的关联原理一样,首先要把按钮的样式加上BS_BITMAP 属性。因为是为动态创建的按钮关联位图,所以需在代码中设置。
btn.Create(L"C 语言", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON |  BS_BITMAP,
  CRect(10, 10, 100, 40), this, 0);//按钮创建

如果是手工创建的按钮,只需将选项Bitmap 设置为True 即可。

然后在图5.9 中的左侧选项卡中选择Bitmap ,之后单击“导入”按钮,选择目的位图即可。这个过程跟关联图标类似,所以不再赘述。这样就在资源视图中多了个Bitmap 的文件夹,如图5.11 所示。

 

按钮关联位图资源IDB_BITMAP1 的代码如下,它也是位于对话框的OnInitDialog()函数中。
01 HBITMAP hBitmap;    //位图对象
02  hBitmap = LoadBitmapW(AfxGetApp()->m_hInstance, (LPCWSTR)IDB_BITMAP1);
         //赋值位图
03 btn.SetBitmap(hBitmap);   //与按钮关联

接下来讲按钮的消息类型。当单击对话框中的按钮时就会在项目工作区右边出现如图5.12 所示的“按钮消息类型”属性。

 

注意:要单击图中的第4 个按钮才可以出现以上画面。
其实这些知识在第4 章已略有介绍,读者如果忘了可以查找图中所列消息的含义。而在项目应用中经常会用第2 个(单击按钮)和第3 个(双击按钮)消息类型。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.编辑按钮的属性
下一篇:5.2.3 响应按钮的消息
相关文章
图文推荐
2.3 forward和完美转
2.2 move语义
1.1.2 decltype关键
深入应用C++11:代码
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站