VC按钮添加图标,位图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC按钮添加图标,位图
/*本文来自互连网,感谢无私奉献的朋友*/
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);。

相关文档
最新文档