CBitmapButton

CBitmapButton 클래스를 사용 하 여 푸시버튼 제어 표시 텍스트 대신 비트맵 이미지를 만들 수 있습니다. CBitmapButton 개체 포함 단추를 가정 하는 다른 상태에 대 한 이미지를 포함 하는 최대 4 개의 비트맵: 업 (또는 기본), 아래쪽 (또는 선택한), 초점을 맞춘, 및 비활성화. 첫 번째 비트맵 필수임; 다른 옵션은。

비트맵 단추 이미지 이미지 자체 뿐만 아니라 이미지 주위에 테두리를 포함합니다. 일반적으로 테두리 단추의 상태를 보여주는 역할을 한다. 예를 들어, 초점 맞춘된 상태에 대 한 비트맵 일반적으로 최대 상태에 대 한 하지만 테두리 또는 테두리에 두꺼운 실선에서 파선된 사각형 삽입 한 것 처럼입니다. 비트맵 장애인 보통 상태에 대 한 유사 하나에 대 한 최대 상태 하지만 낮은 대비 (처럼 흐리게 또는 회색 메뉴 선택)。

이러한 비트맵 크기, 될 수 있지만 모두 마치 그들이 최대 상태에 대 한 비트맵 같은 크기 처리 됩니다.

비트맵 이미지의 다양 한 조합의 요구 하는 다양 한 응용 프로그램:

최대 아래로 초점을 맞춘 사용 안 함 응용 프로그램
× 비트맵
× × 없이 WS_TABSTOP 스타일 단추
× × × × 모든 국가와 대화 상자 단추
× × × WS_TABSTOP 스타일 대화 상자 단추

비트맵 단추 컨트롤을 만들 때 단추 소유자-drawn.nbsp; 지정 하려면 BS_OWNERDRAW 스타일 설정 그러면 단추;에 대 한 WM_MEASUREITEMWM_DRAWITEM 메시지를 보내도록 Windows를 이러한 메시지를 처리 하 고 당신을 위해 버튼의 모양을 관리 하는 프레임 워크(&N)。

창의 클라이언트 영역의 비트맵 단추 컨트롤을 만들려면 다음이 단계를 수행:

  1. 단추에 대해 1-4 개의 비트맵 이미지 만들기。

  2. CBitmapButton 개체 생성。

  3. Windows 단추 컨트롤을 만들고 CBitmapButton 개체 연결 만들기 함수 호출。

  4. 비트맵 단추 생성 후 비트맵 리소스를 로드할 LoadBitmaps 멤버 함수를 호출。

대화 상자에서 비트맵 button 컨트롤을 포함 하려면 다음이 단계를 수행:

  1. 단추에 대해 1-4 개의 비트맵 이미지 만들기。

  2. 소유자 그리기 단추를 비트맵 단추를 추가할 위치 대화 서식 파일을 만듭니다. 서식 파일에 단추 크기가 중요 하지 않습니다.

  3. 단추의 caption "MYIMAGE"와 같은 값을 설정 하 고 IDC_MYIMAGE와 같은 단추에 대 한 기호 정의。

  4. 응용 프로그램의 리소스 스크립트, 이미지의 각 단추에 대 한 "U," "D" 문자 중 하나를 추가 하 여 구성 ID 생성 주고 "F" 또는 "X" (대 한,, 집중 하 고 비활성화)에서 단추 캡션에 사용 되는 문자열을 3 단계에서. 단추 캡션 "MYIMAGE"에 대 한 예를 들어, Id 것 "MYIMAGEU," "MYIMAGED," "MYIMAGEF," 및 "MYIMAGEX." 큰따옴표 비트맵의 ID를 지정 해야 합니다 . 그렇지 않으면 리소스 편집기에서 리소스 정수를 할당 하 고 이미지를 로드할 때 MFC 실패。

  5. 응용 프로그램의 대화 상자 클래스 ( CDialog에서 파생), 추가 CBitmapButton member 개체。

  6. CDialog 개체 OnInitDialog 루틴에서 CBitmapButton 개체의 AutoLoad 함수, 단추의 컨트롤 ID와 CDialog 개체의 포인터 매개 변수로 사용 하 여 호출。

BN_CLICKED와 같은 Windows 알림 메시지를 처리 하려는 경우 비트맵 단추 컨트롤에서 부모에 전송 (클래스에서 파생 되는 일반적으로 CDialog), CDialog를 추가-각 메시지에 대해 메시지 맵 개체 항목 및 메시지 처리기 멤버 함수를 파생 합니다. CBitmapButton 개체에서 보낸 알림 CButton 개체에 의해 전송 된 것과 동일。

CToolBar 클래스 비트맵 단추에 서로 다른 접근 방식을 걸립니다.

CBitmapButton에 대 한 자세한 정보를 보려면 제어 항목 Visual c + + 프로그래머 가이드

# include lt;afxext.h>

클래스 멤버 |nbsp; 기본 클래스 (ko) | 계층 구조 차트(&N)

샘플nbsp; MFC 샘플 CTRLTEST(&N)

Index