다음을 통해 공유


CStatic::SetBitmap

새 비트맵을 정적 컨트롤과 연결합니다.

HBITMAP SetBitmap(
   HBITMAP hBitmap 
);

매개 변수

  • hBitmap
    정적 컨트롤에 그릴 수 있도록 있는 비트맵 핸들입니다.

반환 값

정적 컨트롤에 이전에 연결 된 비트맵의 핸들 또는 NULL 비트맵이 정적 컨트롤과 연결 된 경우입니다.

설명

비트맵의 정적 컨트롤에 자동으로 그려집니다. 기본적으로 왼쪽 위 모서리에서 그려집니다 및 비트맵의 크기를 정적 컨트롤 크기가 조정 됩니다.

다양 한 창 및이 포함 하 여 정적 컨트롤 스타일을 사용할 수 있습니다.

  • SS_BITMAP이 스타일이 항상 비트맵을를 사용 합니다.

  • SS_CENTERIMAGE 정적 컨트롤에 이미지를 가운데에 맞추려면이 옵션을 사용 합니다. 이미지는 정적 컨트롤 보다 큰 경우 텍스트가 잘립니다. 정적 컨트롤 보다 작은 경우 빈 공간 이미지 비트맵의 왼쪽된 위 모퉁이에 있는 픽셀의 색으로 채워집니다.

  • MFC 클래스를 제공 합니다. CBitmap, 비트맵 이미지에 Win32 호출 보다 더 작동 하지 않아도 사용 하면 LoadBitmap. CBitmap포함 된 GDI 개체의 한 종류는 데도 함께에서 CStatic, 되는 CWnd 정적 컨트롤로 그래픽 객체를 표시 하는 데 사용 되는 클래스입니다.

CImage여 장치 독립적 비트맵 (DIB)은 작업을 쉽게 수행할 수 있습니다는 ATL/MFC 클래스가입니다. 자세한 내용은 CImage Class을 참조하십시오.

  • 일반적인 사용 됩니다 제공 하 CStatic::SetBitmap 의 HBITMAP 연산자에 의해 반환 되는 GDI 개체는 CBitmap 또는 CImage 개체입니다. 이 작업을 수행 하는 코드를 다음 줄을 유사 합니다.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));

다음 예제에서는 두 개의 CStatic 힙의 개체입니다. 그런 다음 프로필을 사용 하 여 시스템 비트맵 로드 CBitmap::LoadOEMBitmap 및 기타 사용 하 여 파일에서 CImage::Load.

예제

// 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

참고 항목

참조

CStatic 클래스

계층 구조 차트

CStatic::GetBitmap

STM_SETIMAGE

Bitmaps

CBitmap 클래스

CImage Class