단추 스타일

단추 스타일의 조합을 지정합니다. CreateWindow 또는 CreateWindowEx 함수와 함께 BUTTON 클래스를 사용하여 단추를 만드는 경우 아래에 나열된 단추 스타일을 지정할 수 있습니다.

HRESULT Button::CreateText(HWND hParent, const TCHAR *szCaption, int nID, 
                               const Rect& rcBound)
{
    CREATESTRUCT create;
	ZeroMemory(&create, sizeof(CREATESTRUCT));

    create.x = rcBound.left;
    create.y = rcBound.top;
    create.cx = rcBound.right - create.x;
    create.cy = rcBound.bottom - create.y;

    create.hwndParent = hParent;
    create.lpszName = szCaption;
    create.hMenu = (HMENU)(INT_PTR)nID;
    create.lpszClass = TEXT("BUTTON");
    create.style = BS_PUSHBUTTON | BS_FLAT;
    return Control::Create(create);
}

GitHub의 Windows 클래식 샘플 예제입니다.

상수

상수 설명
BS_3STATE
확인란을 회색으로 표시하고, 선택 또는 선택 해제할 수 있다는 점을 제외하고 확인란과 동일한 단추를 만듭니다. 회색 상태를 사용하여 확인란 상태가 확인되지 않음을 표시합니다.
BS_AUTO3STATE
사용자가 선택할 때 확인란 상태가 변경된다는 점을 제외하고 3개 상태 확인란과 동일한 단추를 만듭니다. 상태는 선택, 불확정 및 선택 취소를 순환합니다.
BS_AUTOCHECKBOX
사용자가 확인란을 선택할 때마다 확인란 상태가 선택과 선택 취소 상태 사이를 전환한다는 점을 제외하고 확인란과 동일한 단추를 만듭니다.
BS_AUTORADIOBUTTON
사용자가 단추를 선택하면 시스템에서 자동으로 단추의 상태를 선택으로 설정하고 동일한 그룹의 다른 모든 단추의 상태는 선택 취소로 설정한다는 점을 제외하고 라디오 단추와 동일한 단추를 만듭니다.
BS_BITMAP
단추에 비트맵이 표시되도록 지정합니다. BS_ICON와의 상호 작용은 설명 섹션을 참조하세요.
BS_BOTTOM
텍스트를 단추 사각형 하단에 배치합니다.
BS_CENTER
텍스트를 단추 사각형 가운데에 가로로 배치합니다.
BS_CHECKBOX
텍스트가 있는 작고 빈 확인란을 만듭니다. 기본적으로 텍스트는 확인란 오른쪽에 표시됩니다. 확인란 왼쪽에 텍스트를 표시하려면 이 플래그를 BS_LEFTTEXT 스타일(또는 해당하는 BS_RIGHTBUTTON 스타일)과 결합합니다.
BS_COMMANDLINK
BS_PUSHBUTTON 스타일 단추처럼 동작하는 명령 링크 단추를 만들지만 명령 링크 단추 왼쪽에 단추 텍스트를 가리키는 녹색 화살표가 있습니다. 단추 텍스트의 캡션은 BCM_SETNOTE 메시지를 단추로 보내 설정할 수 있습니다.
BS_DEFCOMMANDLINK
BS_PUSHBUTTON 스타일 단추처럼 동작하는 명령 링크 단추를 만듭니다. 단추가 대화 상자에 있는 경우, 사용자는 명령 링크 단추에 입력 포커스가 없어도 Enter 키를 눌러 명령 링크 단추를 선택할 수 있습니다. 이 스타일을 사용하면 사용자가 가장 가능성이 높은(기본값) 옵션을 빠르게 선택할 수 있습니다.
BS_DEFPUSHBUTTON
BS_PUSHBUTTON 스타일 단추처럼 동작하지만 고유한 모양이 있는 푸시 단추를 만듭니다. 단추가 대화 상자에 있는 경우, 사용자는 단추에 입력 포커스가 없어도 Enter 키를 눌러 단추를 선택할 수 있습니다. 이 스타일을 사용하면 사용자가 가장 가능성이 높은(기본값) 옵션을 빠르게 선택할 수 있습니다.
BS_DEFSPLITBUTTON
BS_PUSHBUTTON 스타일 단추처럼 동작하지만 고유한 모양도 있는 분할 단추를 만듭니다. 분할 단추가 대화 상자에 있는 경우 사용자는 분할 단추에 입력 포커스가 없어도 Enter 키를 눌러 분할 단추를 선택할 수 있습니다. 이 스타일을 사용하면 사용자가 가장 가능성이 높은(기본값) 옵션을 빠르게 선택할 수 있습니다.
BS_GROUPBOX
다른 컨트롤을 그룹화할 수 있는 사각형을 만듭니다. 이 스타일과 연결된 텍스트는 사각형의 왼쪽 상단 모서리에 표시됩니다.
BS_ICON
단추에 아이콘이 표시되도록 지정합니다. BS_BITMAP과의 상호 작용은 설명 섹션을 참조하세요.
BS_FLAT
단추가 2차원임을 지정합니다. 기본 음영을 사용하여 3D 이미지를 만들지 않습니다.
BS_LEFT
단추 사각형의 텍스트를 왼쪽에 맞춥니다. 그러나 단추가 BS_RIGHTBUTTON 스타일이 없는 확인란 또는 라디오 단추인 경우 텍스트는 확인란 또는 라디오 단추의 오른쪽에 왼쪽 맞춤됩니다.
BS_LEFTTEXT
라디오 단추 또는 확인란 스타일과 결합할 때 텍스트를 라디오 단추 또는 확인란 왼쪽에 배치합니다. BS_RIGHTBUTTON 스타일과 동일합니다.
BS_MULTILINE
텍스트 문자열이 너무 길어 단추 사각형의 한 줄에 다 들어가지 않는 경우 단추 텍스트를 여러 줄로 래핑합니다.
BS_NOTIFY
단추가 BN_KILLFOCUSBN_SETFOCUS 알림 코드를 부모 창으로 보낼 수 있도록 합니다.
단추는 이 스타일이 있는지 여부에 관계없이 BN_CLICKED 알림 코드를 보냅니다. BN_DBLCLK 알림 코드를 얻으려면 BS_RADIOBUTTON 또는 BS_OWNERDRAW 스타일이 있어야 합니다.
BS_OWNERDRAW
소유자가 그린 단추를 만듭니다. 단추의 시각적 측면이 변경되면 소유자 창에서 WM_DRAWITEM 메시지를 받습니다. BS_OWNERDRAW 스타일을 다른 단추 스타일과 결합하지 마세요.
BS_PUSHBUTTON
사용자가 단추를 선택할 때 소유자 창에 WM_COMMAND 메시지를 게시하는 푸시 단추를 만듭니다.
BS_PUSHLIKE
단추(예: 확인란, 3개 상태 확인란 또는 라디오 단추)가 푸시 단추처럼 보이고 작동하도록 합니다. 단추는 누르지 않거나 선택하지 않으면 나오고, 누르거나 선택하면 들어갑니다.
BS_RADIOBUTTON
텍스트가 있는 작은 원을 만듭니다. 기본적으로 텍스트는 원 오른쪽에 표시됩니다. 원 왼쪽에 텍스트를 표시하려면 이 플래그를 BS_LEFTTEXT 스타일(또는 해당하는 BS_RIGHTBUTTON 스타일)과 결합합니다. 관련 있지만 상호 배타적인 선택 항목 그룹에 라디오 단추를 사용합니다.
BS_RIGHT
단추 사각형의 텍스트를 오른쪽에 맞춥니다. 그러나 단추가 BS_RIGHTBUTTON 스타일이 없는 확인란 또는 라디오 단추인 경우 텍스트는 확인란 또는 라디오 단추의 오른쪽에 오른쪽 맞춤됩니다.
BS_RIGHTBUTTON
라디오 단추의 원 또는 확인란의 사각형을 단추 사각형 오른쪽에 배치합니다. BS_LEFTTEXT 스타일과 동일합니다.
BS_SPLITBUTTON
분할 단추를 만듭니다. 분할 단추에는 드롭다운 화살표가 있습니다.
BS_TEXT
단추에 텍스트가 표시되도록 지정합니다.
BS_TOP
텍스트를 단추 사각형 상단에 배치합니다.
BS_TYPEMASK
이 스타일은 사용하지 마세요. BS_* 스타일 비트에서 OR 연산자를 사용하여 생성되는 복합 스타일 비트입니다. 지정된 비트 마스크에서 유효한 BS_* 비트를 마스킹하는 데 사용할 수 있습니다. 오래된 스타일이며 모든 유효한 스타일이 정확하게 포함되어 있지 않습니다. 따라서 이 스타일을 사용하면 안 됩니다.
BS_USERBUTTON
사용되지 않지만 Windows 16비트 버전과의 호환성을 위해 제공됩니다. 대신 애플리케이션에서 BS_OWNERDRAW를 사용해야 합니다.
BS_VCENTER
텍스트를 단추 사각형 중앙에 세로로 배치합니다.

설명

BS_CHECKBOX 및 BS_GROUPBOX와 같은 주 단추 형식의 일러스트레이션은 단추 형식을 참조하세요.

단추 컨트롤의 텍스트와 아이콘 모양은 BS_ICON 및 BS_BITMAP 스타일에 따라 다르며 BM_SETIMAGE 메시지 전송 여부에 따라서도 달라집니다. 가능한 결과는 다음과 같습니다.

BS_ICON 또는 BS_BITMAP 설정 여부 BM_SETIMAGE 호출 여부 결과
Yes 아이콘만 표시합니다.
아이콘과 텍스트를 표시합니다.
텍스트만 표시합니다.
텍스트만 표시

요구 사항

요구 사항
헤더
Winuser.h