在 MFC 中,CBitmapButton 类确实有一个名为 AutoLoad 的公共方法。AutoLoad 方法用于从资源文件中自动加载按钮位图。以下是该方法的基本形式:
BOOL CBitmapButton::AutoLoad(UINT nID, CWnd* pParent)
{
   // 加载位图资源,并设置为按钮的位图
   if (m_bitmap.Attach(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(nID))))
   {
      BITMAP bm;
      m_bitmap.GetBitmap(&bm);
      SetBitmap(m_bitmap);
      SizeToContent();
      return TRUE;
   }

   return FALSE;
}

这个方法通常用于在运行时加载按钮的位图。它将位图资源加载到按钮控件中,并根据加载的位图调整按钮的大小。nID 参数是位图资源的 ID,而 pParent 参数是按钮控件的父窗口。

你可以在你的派生类中调用这个方法,例如:
CMyBitmapButton::CMyBitmapButton()
{
   AutoLoad(IDB_MY_BUTTON_BITMAP, this);
   // 其他初始化工作...
}

这样,当创建 CMyBitmapButton 对象时,它将自动加载指定的位图资源并显示在按钮上。请确保在调用 AutoLoad 方法之前,按钮控件已经创建并与父窗口关联。


转载请注明出处:http://www.zyzy.cn/article/detail/15748/MFC/CBitmapButton