Udostępnij za pośrednictwem


CStatic::SetBitmap

Kojarzy nowej bitmapy z statyczne.

HBITMAP SetBitmap(
   HBITMAP hBitmap 
);

Parametry

  • hBitmap
    Uchwyt mapy bitowej do rysowania statyczne.

Wartość zwracana

Uchwyt mapy bitowej, który był wcześniej związany z kontroli statyczne lub NULL Jeśli bitmapy nie był związany z statyczne.

Uwagi

Mapa bitowa będzie automatycznie rysowane w statyczne.Domyślnie to będzie sporządzony w lewym górnym rogu i statyczne są dostosowywane do rozmiaru mapy bitowej.

Można użyć różnych okien i stylów statyczne kontroli, w tym te:

  • SS_BITMAP zawsze używały tego stylu dla map bitowych.

  • Użycie SS_CENTERIMAGE w formancie statyczny obraz.Jeśli obraz jest większy niż statyczne, zostaną przycięte.Jeśli jest mniejsza niż statyczne, puste miejsca wokół obrazu zostanie wypełnione przez kolor piksela w lewym górnym rogu mapy bitowej.

  • MFC zawiera klasa CBitmap, którego można użyć, gdy masz więcej obrazem bitmapowym niż tylko wywołania Win32 funkcji LoadBitmap.CBitmap, który zawiera jeden rodzaj obiektów GDI, jest często używany we współpracy z CStatic, który jest CWnd klasy, który jest używany do wyświetlania obiektu graficznego jako statyczne.

CImagejest klasy ATL/MFC, która pozwala łatwo pracować z Bitmap (DIB).Aby uzyskać więcej informacji, zobacz Klasa CImage.

  • Typowe użycie jest zapewnienie CStatic::SetBitmap obiektu GDI, która jest zwracana przez HBITMAP operator CBitmap lub CImage obiektu.Kod w tym podobny do następującego.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));

Poniższy przykład tworzy dwa CStatic obiektów na stercie.Następnie załaduje go za pomocą mapa bitowa systemu CBitmap::LoadOEMBitmap , a drugi z pliku za pomocą CImage::Load.

Przykład

// 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 );
   */

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CStatic

Wykres hierarchii

CStatic::GetBitmap

STM_SETIMAGE

Bitmaps

Klasa CBitmap

Klasa CImage