MFC中位图按钮的实现方法:

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); 

你可能感兴趣的:(MFC控件)