天天看点

MFC中位图按钮的实现方法:( 位图必须用.bmp 格式的)

MFC中位图按钮的实现方法:( 位图必须用.bmp 格式的)

首先,我们创建一个基于对话框的应用程序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);