VC 按钮添加图标,位图:

本文介绍在MFC中如何为按钮添加图标和位图。包括两种添加图标的方法及步骤,以及如何加载和设置位图资源。适用于希望了解MFC界面定制的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1  按钮添加图标:

方法一:

1.添加图标资源IDI_ICON1;

2 使用函数 LoadIcon() 载入图标。因为LoadIcon() 是类 CWinApp 的成员函数,同时函数 LoadIcon() 返回所载入图标的句柄。所以我们采用以下方法来调用函数 LoadIcon():

      HICON m_hicn1=AfxGetApp()->LoadIcon(IDI_ICON1);

3 为按钮设置图标了,这通过调用函数 SetIcon() 来实现:

   m_button1.SetIcon(m_hicn1);  //  m_button1是按钮变量

方法二:

前两步和上方法一样;

3 先由函数 GetDlgItem() 获得一个指向 CWnd 对象的指针,再通过强制类型转换将该指针转换为一个指向 CButton 类对象的指针。进而通过该指针来调用函数 SetIcon()。具体实现代码如下:

        CWnd *pWnd = GetDlgItem(IDC_BUTTON1);
        CButton *Button= (CButton *) pWnd;
        Button-> SetIcon(m_hicn1);

2  按钮添加位图:

1 添加位图资源BMP1;

2 利用函数 LoadBitmap() 从资源中载入位图.

  HBITMAP LoadBitmap(
   HINSTANCE hInstance, // handle of application instance
   LPCTSTR lpBitmapName // address of bitmap resource name
  );

  所以,为达到载入位图的目的,不仅要定义一个位图句柄 hBitmap:

            HBITMAP hBitmap;

 而且还要定义一个应用程序实例句柄 hInstance;

            HINSTANCE hInstance;

并调用函数 AfxGetInstanceHandle() 以获得当前的应用程序实例句柄,代码如下:

       hInstance = ::AfxGetInstanceHandle();

只有在声明并获得了当前的应用程序句柄后,才能使用以下语句载入位图:

       hBitmap = ::LoadBitmap(hInstance,"BMP1");   //BMP1是资源文件名

3 用SetBitmap()添加位图;

    m_button1.SetBitmap(hBitmap);

    pWnd = GetDlgItem(IDC_BUTTON1);
    Button= (CButton *) pWnd;
    Button-> SetBitmap(hBitmap);


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值