MFC中位图按钮

来源:互联网 发布:种子番号搜索软件 编辑:程序博客网 时间:2024/05/17 04:18

首先,我们创建一个基于对话框的应用程序CmyDialog ;
Ι.MFC的CBitmapButton类,这也是最简单的功能最强的位图按钮。我们可以采取如下的步骤:
需定义CBitmapButton 对象与CButton一一对应.

1. 在创建按钮资源IDC_BUTTON时选择 owner draw (自己画);

2. 在对话框.h文件内定义位图按钮对象 CBitmapButton mybutton;
3. 在对话框.c文件内创建 BOOL Dialog::OnInitDialog() {}
如果已有就不必创建;
4.一种方法:
mybutton.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP1, IDB_BITMAP1,IDB_BITMAP1);
mybutton.SubclassDlgItem(IDC_hangup, this);
mybutton.SizeToContent();
另一种方法:
在Oninitdialog()中VERIFY(mybutton.AutoLoad(IDC_BUTTON,this));
创建位图,其资源ID应与按钮字符相同为:"字符U","字符D","字符X"(分别对应释放,按下,无

效. 引号也要打!)

使用CBitmapButton;

在Oninitdialog()调用
m_btnSearch.LoadBitmaps(IDB_SEARCHU, IDB_SEARCHD, IDB_SEARCHF, IDB_SEARCHX);


Ⅱ.使用图标制作按钮
1. 打开ICON按钮的属性页,在Style中选中Icon 。
2. 在对话框类的头文件中定义成员变量(使用ClassWizard加入这个成员变量)
CButton m_ IconBtn;//对应于图标按钮
3. 创建相应的图标或者位图资源:
图标资源:IDI_ICONBUTTON
4.在初始化中加入如下代码:

//对应于图标按钮 图标必须是.ico格式的
HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICONBUTTON);
m_IconBtn.SetIcon(hIcon);

重新编译运行我们的程序,奇妙的图像按钮呈现在我们的眼前了。

Ⅲ.使用位图制作按钮 位图必须用.bmp 格式的
1. 打开BITMAP按钮的属性页,在Style中选中Bitmap。
2. 对话框类的头文件中定义成员变量(不用ClassWizard加入这个成员变量)
CBitmapButton mybutton;

3.创建位图资源:
位图资源:(IDB_BITMAP1))
4.在初始化中加入如下代码:
//对应于位图按钮

HBITMAP hBmp=::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
((CButton*)GetDlgItem(IDC_hangup))->SetBitmap(hBmp);