CStatic::SetBitmap
associa um novo bitmap com o controle estático.
HBITMAP SetBitmap(
HBITMAP hBitmap
);
Parâmetros
- hBitmap
Identificador de bitmap a ser desenhado no controle estático.
Valor de retorno
A alça de bitmap que foi anteriormente associado com o controle estático, ou se nenhum NULL bitmap foi associado ao controle estático.
Comentários
O bitmap será desenhada automaticamente no controle estático.Por padrão, será desenhado no canto superior esquerdo e o controle estático será redimensionado o tamanho de bitmap.
Você pode usar os estilos de janela estiver e controle estático, incluindo estes:
Uso de SS_BITMAP esse estilo para sempre bitmaps.
Uso de SS_CENTERIMAGE centralizar a imagem no controle estático.Se a imagem for maior do que o controle estático, será recortada.Se for menor do que o controle estático, o espaço vazio em torno da imagem será preenchida pela cor de pixel no canto superior esquerdo de bitmap.
O MFC fornece a classe CBitmap, que você pode usar quando você tem que fazer mais com uma imagem de bitmap do que apenas chama a função LoadBitmapWin32.CBitmap, que contém um tipo de objeto do GDI, é geralmente usado em cooperação com CStatic, que é uma classe de CWnd que é usada exibindo um objeto gráfico como um controle estático.
CImage é uma classe de ATL/MFC que permite que você mais facilmente trabalhar com bitmaps (DIB) independentes de dispositivo.Para obter mais informações, consulte Classe de CImage.
- O uso típico é fornecer a CStatic::SetBitmap um objeto do GDI que é retornado pelo operador de HBITMAP de um objeto de CBitmap ou de CImage .O código para fazer isso é semelhante à seguinte linha.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));
O exemplo a seguir cria dois objetos de CStatic no heap.Carrega em um com um bitmap do sistema usando CBitmap::LoadOEMBitmap e o outro de um arquivo usando CImage::Load.
Exemplo
// 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 );
*/
Requisitos
Cabeçalho: afxwin.h