m_ButGet.SetHBitmap(LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTGET2)),
LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTGET1)));
在VC++项目开发全程实录那本书的79页
我想问一下两个LoadBitmap是什么关系 ,先加载哪个 ,为什么?谢谢
学分: LV1
首先m_ButMod是CBmpButton类的一个对象,这个类是派生自CButton类。
而SetHBitmap是在派生类中我们自己新添加上的一个成员函数。
我们来看一下这个定义:
void CBmpButton::SetHBitmap(HBITMAP m_hbmp1,HBITMAP m_hbmp2)
{
m_Hbitmap1= m_hbmp1;
m_Hbitmap2= m_hbmp2;
}
从函数的定义我们可以看到这个函数的作用就是保存两个图片资源,
保存在变量m_Hbitmap1和m_Hbitmap2中。
另外SetHBitmap并不是先加载哪一个后加载哪一个的作用,
我们在程序中会使用这两个图片资源,在CBmpButton::OnMouseMove函数,这个函数的作用是
如果鼠标在按钮上将会显示一个图像,鼠标移开时会显示另一个图像。
那么使用的这两个图像,就是在SetHBitmap函数中我们进行存储的图片了。
总结:SetHBitmap函数的作用就是用来在初始化时,用两个变量存储两个图像资源。
在按钮的热点和非热点时,可以使用不同图标。