您的位置:资讯频道 > 技术文档 > VC/MFC

在VC中使用位图按钮

来源:CSDN   作者:张合福   时间:2008-06-06  点击:260 次
位图按钮的实现方法:

首先,我们创建一个基于对话框的应用程序CmyDialog ;
Ι.MFC的CBitmapButton类,这也是最简单的功能最强的位图按钮。我们可以采取如下的步骤:
  • 为按钮指定唯一的按钮标题(此例子为OK按钮,这里设置按钮标题为OK)并选中Ownerdraw属性,然后在项目中加一些位图资源,并用名字标示这些资源而不要用数字ID,其ID分别为”OKU”、”OKD”、”OKF”、”OKX”(一定要加双引号),分别对应于按钮的“松开(Up)”、“按下(Down)”、“获得输入焦点(focused)”和“禁止(Disable)”状态。
  • 我们还要在对话框类中加入CBitmapButton m_aBmpBtn;数据成员。
  • 在初始化中为这个成员调用:

    m_aBmpBtn. AutoLoad(IDOK,this);
点击编译按钮,成功后运行程序,哈哈,看看效果,我们的位图按钮已经建立了。
/*如果以上方法不行请检查你的BITMAP 资源,APPSTUDIO中,"OKU"和 "OKD" 等的资源名称都是需要用引号引起来的, AutoLoad不成功,很可能就是由此产生的。 */
改变CANCLE按钮的标题,可以设置其标题为ICON或者BITMAP :(这里我们演示了bitmap的用法,Icon按钮读者可以按照下面的代码处理)

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

  • … //对应于图标按钮
    HICON hIcon=AfxGetApp()->LoadIcon(IDI_ ICONBUTTON);
    m_IconBtn.SetIcon(hIcon);
重新编译运行我们的程序,奇妙的图像按钮呈现在我们的眼前了。

Ⅲ.使用位图制作按钮
  • 打开BITMAP按钮的属性页,在Style中选中Bitmap。
  • 对话框类的头文件中定义成员变量(使用ClassWizard加入这个成员变量)
    CButton m_IconBtn;
  • 创建位图资源:
    位图资源:IDB_BITMAPBUTTON
  • 在初始化中加入如下代码:
    //对应于位图按钮

    HBITMAP hBmp=::LoadBitmap(AfxGetInstanceHandle(),
    MAKEINTRESOURCE(IDB_ BITMAPBUTTON));
    m_BmpBtn.SetBitmap(hBmp);