MFC 位图按钮CBitmapButton 实现不同状态显示不同位图
2015-02-13 09:45
211 查看
MFC 位图按钮CBitmapButton 实现不同状态显示不同位图
步骤如下:
1. 在对话框上拖放一个按钮(CButton)控件,设置ID(如:IDC_BUTTON5);别忘了设置Owner Draw(自绘)属性2. 在对话框类添加成员变量(CBitmapButton类对象):
CBitmapButton m_button;
3. 在初始化函数 OnInitDialog() 中调用 SubclassDlgItem() 将
派生类(CBitmapButton )的实例(m_button) 与对话框中的基类(CButton)控件相连接,则这个基类控件对象变成了派生控件对象;
m_button.SubclassDlgItem(IDC_BUTTON5, this);
//第一个参数是要关联的按钮的ID,第二个参数是要关联的按钮所在的窗口的指针,一般为this;
3. 导入四种状态的位图到资源中并修改ID,正常:IDB_BTNU, 按下: IDB_BTND, 焦点:IDB_BTNF, 禁用:IDB_BTNX
4. 在初始化函数 OnInitDialog() 中调用CBitmapButton类实例的LoadBitmaps方法,载入四幅位图。
这四幅位图分别对应按钮的四种状态:正常(U)状态,按下(D)状态,获得焦点(F)状态,禁用(X)状态。
m_button.LoadBitmaps( IDB_BTNU, IDB_BTND, IDB_BTNF, IDB_BTNX);
5. 在初始化函数 OnInitDialog() 中调用CBitmapButton::SizeToContent函数使按钮适合图片大小;
m_button.SizeToContent(); //调整大小. 就完成了!!!
=================================================================
相比于上面还有一种比较省事的:
步骤如下:
1. 在对话框上拖放一个按钮(CButton)控件,设置Caption(如:MBUT)(与后面位图资源ID有关),还有别忘了设置Owner Draw(自绘)属性2. 在对话框类添加成员变量(CBitmapButton类对象):
CBitmapButton m_button;
3. 导入四种状态的位图到资源中并修改ID,正常:
"MBUTU" 按下: "MBUTD" 焦点:
"MBUTF" 禁用: "MBUTX" 别忘了双引号(" ")
4. 在初始化函数 OnInitDialog() 中调用CBitmapButton类实例的 AutoLoad() 方法,载入位图等工作.....
m_button.AutoLoad(IDC_BUTTON5,
this);// 完成,没了!就这么多!
==============================================================================================================
=================================================================
效果如下:
正常(U):
![](http://img.blog.csdn.net/20150213102306224?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHNrMTEyNDk4MTY0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
按下(D):
![](http://img.blog.csdn.net/20150213102340076?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHNrMTEyNDk4MTY0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
聚焦(F):
![](http://img.blog.csdn.net/20150213102351823?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHNrMTEyNDk4MTY0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
禁用(X):
![](http://img.blog.csdn.net/20150213102356053?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHNrMTEyNDk4MTY0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
相关文章推荐
- MFC动态创建按钮,并在按钮上实现位图的切换显示
- 【MFC动态创建按钮,并在按钮上实现位图的切换显示】
- 按钮不同状态显示不同图片
- Gtk+实现非规则按钮的不同状态图片切换
- 1怎样让输入的text文本填写的部分只添加数字、2怎样将输入的数字一次性全部删除 3怎样选择密码 让它不显示 4 怎样实现在没有return的情况下点击button的情况下就能够使键盘页面下落5 怎样实现点击指定的button来对使指定的text进行键盘弹出 6怎样改变button按钮的状态
- 1, 编写程序,当用户在文本框中输入内容之后,单机不同的按钮,能够把文半框中的内容粘贴到文本区中。“重置”按钮实现将文本框和文本区中的内容清空。界面上的文本区只能显示内容,不能让用户输入文本。运行结果
- js实现两个单选按钮,选不同的选项弹出显示不同的下拉框
- 在MFC GridCtrl中使用CGridCellCheck类根据GetCheck()状态做不同处理的实现
- 用ToggleButton和ImageView实现不同状态下显示的切换
- mfc按键显示不同状态背景
- 【MFC】 点击不同的按钮后在界面同一位置显示不同的对话框内容(转)
- MFC中实现简单的位图显示
- 按钮的背景图片根据状态的不同而显示不同的图片,网上有介绍相关的方法。
- android中如何实现button 不同状态显示切换背景图
- 单选框按钮实现双击取消,添加字典序表实现同一字段不同状态
- Gtk+实现非规则按钮的不同状态图片切换
- 在MFC GridCtrl中使用CGridCellCheck类根据GetCheck()状态做不同处理的实现
- MFC内置的位图按钮CBitmapButton
- MFC 为按钮加载位图 CBitmapButton
- Button按钮实现按下不同状态切换功能