分享

VC按钮添加图标,位图:

 chensirDSP 2010-05-01
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);
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/HICON/archive/2006/12/15/1443842.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多