다음을 통해 공유


단추 형식

동일한 형식의 단추를 구분하기 위해 여러 형식의 단추와 하나 이상의 단추 스타일이 있습니다.

이 문서에서는 다음 항목에 대해 설명합니다.

단추 형식 및 스타일

단추는 형식에 속하며 모양과 동작에 영향을 미치는 추가 스타일을 가질 수 있습니다. 단추 스타일의 표를 보려면 단추 스타일을 참조하세요.

다음 스크린샷은 다양한 형식의 단추를 보여 줍니다.

8가지 단추 형식의 예를 보여 주는 대화 상자의 스크린샷

이 스크린샷은 Windows Vista에서 단추가 어떻게 나타나는지 보여 줍니다. 모양은 운영 체제 버전과 사용자가 설정한 테마에 따라 달라집니다.

그림에 대한 다음 사항에 유의합니다.

  • 세 가지 상태 확인란이 불확실한 상태로 표시됩니다. 선택하거나 선택하지 않으면 일반 확인란처럼 보입니다.
  • 큰 누름 단추는 프로그래밍 방식으로(BM_SETSTATE 메시지 전송) 눌린 상태로 설정되어 클릭하지 않아도 모양이 유지됩니다.
  • 표시된 시각적 스타일에서 기본 누름 단추(또는 입력 포커스가 있는 다른 누름 단추)의 배경은 파란색과 회색 사이를 순환합니다.

확인란

확인란은 사각형 상자와 사용자가 단추를 선택하여 선택할 수 있음을 나타내는 애플리케이션 정의 레이블, 아이콘 또는 비트맵으로 구성됩니다. 애플리케이션은 일반적으로 사용자가 상호 배타적이지 않은 옵션을 하나 이상 선택할 수 있도록 확인란을 표시합니다.

확인란은 표준, 자동, 3-상태 및 자동 3-상태의 네 가지 스타일 중 하나일 수 있으며, 이는 각각 상수 BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATEBS_AUTO3STATE으로 정의됩니다. 각 스타일은 선택됨(상자 안에 확인 표시가 있음) 또는 선택 취소됨(확인 표시가 없음)의 두 가지 확인 상태를 가정할 수 있습니다. 또한 3-상태의 확인란은 불확실한 상태(확인란 내부의 음영 상자)를 가정할 수 있으며, 이는 사용자가 선택을 하지 않았음을 나타낼 수 있습니다. 표준 또는 자동 확인란을 반복해서 클릭하면 선택에서 선택 취소로 전환되고 다시 원래대로 전환됩니다. 3-상태의 확인란을 반복해서 클릭하면 선택에서 선택 취소, 불확정으로 전환한 다음 주기를 반복합니다.

사용자가 임의 스타일의 확인란을 클릭하면 해당 확인란이 키보드 포커스를 받습니다. 시스템이 확인란의 부모 창에 BN_CLICKED 알림 코드가 포함된 WM_COMMAND 메시지를 보냅니다. 부모 창은 자동 확인란 또는 자동 3-상태 확인란에서 이 메시지가 표시되는 경우 시스템에서 이러한 스타일에 대한 확인 상태를 자동으로 설정하기 때문에 이 메시지를 처리할 필요가 없습니다. 그러나 자동이 아닌 확인란 또는 3-상태의 확인란에서 오는 메시지는 부모 창이 이러한 스타일의 선택 상태를 설정해야 하므로 부모 창에서 처리해야 합니다. 확인란 스타일에 관계없이 상태가 변경되면 시스템에서 자동으로 확인란을 다시 그립니다.

애플리케이션은 IsDlgButtonChecked 함수를 사용하여 확인란의 상태를 확인할 수 있습니다.

그룹 상자

그룹 상자는 왼쪽 상단 모서리에 애플리케이션 정의 텍스트 레이블이 있는 확인란 또는 라디오 단추와 같은 컨트롤 집합을 둘러싸는 직사각형입니다. 그룹 상자의 유일한 목적은 공통 목적(일반적으로 레이블로 표시됨)과 관련된 컨트롤을 구성하는 것입니다. 그룹 상자에는 상수 BS_GROUPBOX로 정의된 스타일이 하나만 있습니다. 그룹 상자는 선택할 수 없기 때문에 선택 상태, 포커스 상태 또는 누름 상태가 없습니다.

누름 단추

누름 단추는 애플리케이션 정의 텍스트 레이블, 아이콘 또는 사용자가 단추를 선택할 때 단추가 수행하는 작업을 나타내는 비트맵을 포함하는 사각형입니다.

누름 단추는 상수 BS_PUSHBUTTONBS_DEFPUSHBUTTON에 의해 정의된 표준 또는 기본의 두 가지 스타일 중 하나일 수 있습니다. 표준 누름 단추는 일반적으로 작업을 시작하는 데 사용됩니다. 사용자가 클릭하면 키보드 포커스를 받습니다. 기본 누름 단추는 일반적으로 대화 상자 닫기와 같이 가장 일반적이거나 기본 선택 사항을 나타내는 데 사용됩니다. 대화 상자의 다른 누름 단추에 입력 포커스가 없을 때 간단히 Enter 키만 누르면 선택할 수 있는 단추입니다.

사용자가 누름 단추를 클릭하면 키보드 포커스를 받습니다. 시스템은 단추의 부모 창에 BN_CLICKED 알림 코드가 포함된 WM_COMMAND 메시지를 보냅니다.

분할 단추은 Windows Vista 및 버전 6.00에 도입된 특별한 종류의 누름 단추입니다. 분할 단추는 두 파트로 나뉩니다. 주 파트는 일반 또는 기본 누름 단추처럼 작동합니다. 두 번째 파트에는 아래쪽을 가리키는 화살표가 있습니다. 일반적으로 화살표를 클릭하면 메뉴가 표시됩니다.

분할 단추는 BS_SPLITBUTTON 스타일이거나 대화 상자의 기본 단추인 경우 BS_DEFSPLITBUTTON 스타일입니다. BCM_SETSPLITINFO 메시지 또는 해당 Button_SetSplitInfo 매크로를 사용하여 단추의 모양을 수정할 수 있습니다.

사용자가 분할 단추의 주 파트를 클릭하면 일반 누름 단추처럼 BN_CLICKED 알림을 보냅니다. 그러나 사용자가 아래쪽 화살표를 클릭하면 BCN_DROPDOWN 알림을 보냅니다. BCN_DROPDOWN에 대한 응답으로 메뉴를 표시하는 것은 애플리케이션의 책임입니다.

Windows Vista 및 버전 6.00에는 또 다른 종류의 누름 단추인 명령 링크가 도입되었습니다. 시각적으로 명령 링크는 일반 누름 단추와 매우 다르지만 기능은 동일합니다. 명령 링크는 일반적으로 화살표 아이콘, 텍스트 줄 및 더 작은 글꼴의 추가 텍스트를 표시합니다.

라디오 단추

라디오 단추(옵션 단추이라고도 함)은 둥근 단추와 사용자가 단추를 선택하여 선택할 수 있음을 나타내는 애플리케이션 정의 레이블, 아이콘 또는 비트맵으로 구성됩니다. 애플리케이션은 일반적으로 그룹 상자의 라디오 단추를 사용하여 사용자가 상호 배타적인 관련 옵션 집합 중 하나를 선택할 수 있도록 합니다.

라디오 단추는 스타일 상수 BS_RADIOBUTTONBS_AUTORADIOBUTTON에 정의된 표준 또는 자동의 두 가지 스타일 중 하나일 수 있습니다. 각 스타일은 선택됨(단추에 점이 있음) 또는 선택 취소됨(단추에 점이 없음)의 두 가지 확인 상태를 가정할 수 있습니다.

사용자가 두 상태 중 하나를 선택하면 라디오 단추가 키보드 포커스를 받습니다. 시스템은 단추의 부모 창에 BN_CLICKED 알림 코드가 포함된 WM_COMMAND 메시지를 보냅니다. 시스템이 자동으로 해당 스타일의 선택 상태를 설정하므로 이 메시지가 자동 라디오 단추에서 오면 부모 창에서 처리할 필요가 없습니다. 그러나 자동이 아닌 라디오 단추에서 오는 메시지는 부모 창이 해당 스타일의 선택 상태 설정을 담당하므로 부모 창에서 처리해야 합니다. 라디오 단추 스타일에 관계없이 시스템은 상태가 변경되면 단추를 자동으로 다시 그립니다.

라디오 단추는 그룹으로 배열되어 있으며, 그룹 내에서 언제든지 하나의 단추만 확인할 수 있습니다. 라디오 단추에 대해 WS_GROUP 플래그가 설정된 경우 단추는 그룹의 첫 번째 단추이며 탭 순서에서 바로 뒤에 오는 모든 단추(단, WS_GROUP 플래그가 없음)는 해당 그룹의 일부입니다. 라디오 단추에 WS_GROUP 플래그가 없으면 대화 상자의 모든 라디오 단추가 단일 그룹으로 처리됩니다.

애플리케이션은 IsDlgButtonChecked 함수를 사용하여 라디오 단추가 선택되었는지 여부를 확인할 수 있습니다.

참조

단추 스타일

개념

단추 사용