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