CStatic::SetBitmap
使新的點陣圖與靜態控制項。
HBITMAP SetBitmap(
HBITMAP hBitmap
);
參數
- hBitmap
在靜態控制項是繪製點陣圖的控制代碼。
傳回值
先前與靜態控制項點陣圖的控制代碼或 NULL ,如果點陣圖尚未與靜態控制項。
備註
點陣圖在靜態控制項會自動繪製。 根據預設,它在左上角來進行繪製,而靜態控制項會調整大小以點陣圖的大小。
您可以使用各種視窗及靜態控制項樣式,包括:
SS_BITMAP 使用此模式永遠點陣圖的。
SS_CENTERIMAGE 用途集中在靜態控制項的影像。 如果影像大於靜態控制項,它將裁剪。 如果還小靜態控制項,在影像周圍的空白將以像素的色彩填滿點陣圖的左上角。
MFC 提供類別 CBitmap,您可以使用時必須執行更多與點陣圖影像比呼叫 Win32 函式 LoadBitmap。 CBitmap,包含一種 GDI 物件,以 CStatic合作下通常用於,是 CWnd 類別為顯示圖形物件當成靜態控制項。
CImage 是讓您可以更輕鬆與裝置無關的點陣圖 (DIB) 一起使用的來源類別。 如需詳細資訊,請參閱CImage 類別。
- 典型的用法是將 CStatic::SetBitmap 由 CBitmap 或 CImage 物件的 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