CStatic::SetBitmap

关联新的位图与该静态控件。

HBITMAP SetBitmap(
   HBITMAP hBitmap 
);

参数

  • hBitmap
    在静态控件将绘制位图的句柄。

返回值

以前与该静态控件位图的句柄或 NULL,如果位图没有与该静态控件。

备注

位图在静态控件将自动绘制。 默认情况下,它在左上角要绘制,并且该静态控件将调整到位图的大小。

您可以使用各种窗口和静态控件样式,包括:

  • SS_BITMAP 使用此样式始终位图的。

  • SS_CENTERIMAGE 使用焦点在静态控件的图像。 如果图像比该静态控件,它将剪辑。 如果其小于该静态控件时,该图像周围的空白将由像素的颜色填充该位图的左上角。

  • MFC 提供选件类 CBitmap,您可以使用时必须执行更多使用位图图像比调用 Win32 函数 LoadBitmapCBitmap,包含一个 GDI 对象,在与 CStatic协作下是,通常是 CWnd 选件类用于显示图形对象用作静态控件。

CImage 是使您可以更轻松地与设备无关的位图 (DIB) 使用的 ATL/MFC 选件类。 有关更多信息,请参见CImage Class

  • 典型用法是为 CStatic::SetBitmapCBitmapCImage 对象的 HBITMAP 运算符返回的 GDI 对象。 若要执行此操作的代码类似于下面一行。
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));

下面的示例创建堆中的两 CStatic 对象。 使用 CImage::Load,它将系统位图然后加载一个使用 CBitmap::LoadOEMBitmap 和其他从文件。

示例

// Code such as this could be placed in the OnInitDialog callback. 
// It creates two bitmap static controls on the heap, using members 
// _m_pCStatic_A and _m_pCStatic_B to identify them so that they can 
// be destroyed when no longer needed.

  CBitmap CBmp;
  CImage CImg;

  // Create a child bitmap static control and load it from a CBitmap object.
  _m_pCStatic_A = new CStatic;
  _m_pCStatic_A->Create(_T("A bitmap static control (A)"), 
      WS_CHILD|WS_BORDER|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(16,16,64,64),
      pParentWnd);
  CBmp.LoadOEMBitmap(OBM_CLOSE);  // Loads one of the default Windows bitmaps
  _m_pCStatic_A->SetBitmap( HBITMAP(CBmp) );
  _m_pCStatic_A->ShowWindow( SW_SHOW );

  // Create a child bitmap static control and load it from a CImage object.
  _m_pCStatic_B = new CStatic;
  _m_pCStatic_B->Create(_T("A bitmap static control (B)"), 
      WS_CHILD|WS_BORDER|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(90,16,138,64),
      pParentWnd);
  CImg.Load( _T("test.png") );
  if( _m_pCStatic_B->GetBitmap( ) == NULL )
    _m_pCStatic_B->SetBitmap( HBITMAP(CImg) );

  /* Then, later: 
   delete( _m_pCStatic_A );
   delete( _m_pCStatic_B );
   */

要求

标头:afxwin.h

请参见

参考

CStatic Class

层次结构图

CStatic::GetBitmap

STM_SETIMAGE

Bitmaps

CBitmap 类

CImage Class