CStatic::SetBitmap
Přidruží nové bitmapy statického ovládacího prvku.
HBITMAP SetBitmap(
HBITMAP hBitmap
);
Parametry
- hBitmap
Popisovač rastrového obrázku ve statické ovládací prvek vykreslit.
Vrácená hodnota
Popisovač rastrového obrázku, který byl dříve přidružený ovládací prvek statické nebo NULL Pokud byl přidružen k ovládacímu prvku statické žádná bitmapa.
Poznámky
Rastr bude automaticky vykreslí statického ovládacího prvku.Ve výchozím nastavení ji bude nakreslen v levém horním rohu a statického ovládacího prvku se přizpůsobí velikost rastrového obrázku.
Můžete použít různé okna a styly statického ovládacího prvku, včetně těchto:
Tento styl SS_BITMAP vždy použít pro rastrové obrázky.
Použití SS_CENTERIMAGE na střed obrázku v ovládacím prvku statické.Obraz je větší než statické ovládací prvek, bude oříznut.Pokud je menší než statický prvek, prázdné místo kolem obrázku sestavil barva obrazového bodu v levém horním rohu mapy.
Knihovna MFC poskytuje třídu CBitmap, které lze použít, pokud máte více než jen volání Win32 bitmapovým obrazem funkce LoadBitmap.CBitmap, který obsahuje jeden druh objektu GDI se často používá ve spolupráci s CStatic, je CWnd třída, která slouží k zobrazení grafického objektu jako statický prvek.
CImageje-li třídu knihovny ATL nebo MFC, která umožňuje snadno pracovat s rastry nezávislé na zařízení (DIB).Další informace naleznete v tématu Třída CImage.
- Typické využití je poskytnout CStatic::SetBitmap objektu GDI, který je vrácen provozovatelem HBITMAP CBitmap nebo CImage objektu.Se podobá následující řádek kódu postupujte.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));
Následující příklad vytvoří dva CStatic objekty do haldy.Pak načte s bitmap systému pomocí CBitmap::LoadOEMBitmap a jiné ze souboru pomocí CImage::Load.
Příklad
// 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 );
*/
Požadavky
Záhlaví: afxwin.h