用CBitmapButton显示按钮图标的方法
现在的社会上面有越来越多的人们开始喜欢使用电脑了,这不仅仅因为电脑能够查到看到他们所想看的,还能够有编程爱好者的一席天地,那么对于新手编程者来说,很多事情都是很难的,比如说有的人就不知道应该如何去显示按钮图标,那么在这里就来教一下大家如何用CBitmapButton显示按钮图标吧。
CBitmapButton加载4个位图(使用LoadBitmaps函数和AutoLoad函数),分别用于显示按钮的正常状态、按下时的状态、具有输入焦点时的状态、不可用时的状态,下面举例说明其用法。步骤如下:
(1)创建基于对话框的MFC应用程序。
(2)在主对话框中放入一个Button空间,调整适当大小,为其添加CButton类型变量m_btnBitmap。
(3)设置该按钮风格为Owner draw
(4)在资源视图中创建或导入4副位图,分别设置ID为IDB_BITMAP1、IDB_BITMAP2、IDB_BITMAP3、IDB_BITMAP4,注意这4副位图的大小必须相同并和按钮的大小一致。
(5)修改m_btnBitmap类型为CBitmapButton。
(6)修改主对话框的OnInitDialog函数,添加如下代码: BOOL CMFCDlg::OnInitDialog{CDialog::OnInitDialog; // 省略相关代码 // 加载图片m_btnBitmap.LoadBitmaps;return TRUE; // return TRUE unless you set the focus to a control}
(7)按Ctrl+F5键编译并运行程序。 现在软件界面流行那种Hover按钮,就是鼠标移到按钮上时,按钮图片会显示发亮、上移的效果,鼠标移出按钮则按钮恢复原状,而CBitmapButton类只有如上面所说的四种效果图片,不包含鼠标移到按钮上时的显示图片;我想到了一种办法:利用 lpszBitmapResourceFocus(位图按钮获得焦点时的位图),当鼠标移动到按钮上的时候,用代码使按钮获得焦点,当鼠标移出按钮时,用代码使按钮失去焦点,这样就间接的实现了HoverButton,效果还不错;
其实有非常多的方法可以实现这个显示按钮图标的,比如说使用java语言,还有html语言等等都是可以的,那么今天所讲的用CBitmapButton显示按钮图标稍微有些复杂,但是制作出来的效果非常的棒的,新手编程者不妨试一试的。