Поделиться через


CStatic::SetBitmap

Связывает новое растровое изображение со статическим элементом управления.

HBITMAP SetBitmap(
   HBITMAP hBitmap 
);

Параметры

  • hBitmap
    Дескриптор растрового изображения, отображаемый в статическом элементе управления.

Возвращаемое значение

Дескриптор растрового изображения, которое было ранее сопоставлено со статическим элементом управления или NULL если растровое изображение не было сопоставлено со статическим элементом управления.

Заметки

Растровое изображение будет автоматически нарисовано в статическом элементе управления.По умолчанию оно будет изображения в верхнем левом верхн- и статический элемент управления будет размер по размерам растрового изображения.

Можно использовать различные стили окна и статического элемента управления, включая следующие:

  • Использование SS_BITMAP этот стиль всегда растровых изображений.

  • Использование SS_CENTERIMAGE центрировать образ в статическом элементе управления.Если образ больше статический элемент управления, то он будет закреплен.Если он меньше, чем статический элемент управления, пустого места вокруг изображения будет заполнена цвет пикселя в верхнем левом углу растрового изображения.

  • MFC предоставляет класс CBitmap, который можно использовать, если необходимо выполнить несколько с самым растрового изображения, чем просто вызовите функцию Win32 LoadBitmap.CBitmap, который содержит один тип объекта GDI, часто используется совместно с CStatic, который является классом, который используется для отображения CWnd графического объекта как статический элемент управления.

CImage класс ATL/MFC, который позволяет легко больше работы с файл рисунка DIB (DIB).Дополнительные сведения см. в разделе Класс CImage.

  • Типичное потребление привести объект CStatic::SetBitmap GDI, который возвращается оператором HBITMAP объекта CBitmap или CImage.Код для этого напоминает следующий линия.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));

В следующем примере создается CStatic 2 объекта в куче.Затем он загружает с растровым изображением системы с помощью CBitmap::LoadOEMBitmap и другое из файла с помощью CImage::Load.

Пример

// 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

Диаграмма иерархии

CStatic::GetBitmap

STM_SETIMAGE

Bitmaps

Класс CBitmap

Класс CImage