다음을 통해 공유


단추(Windows 컨트롤)

이 섹션에는 단추 컨트롤과 함께 사용되는 프로그래밍 요소에 대한 정보가 포함되어 있습니다. 단추는 사용자가 애플리케이션에 입력을 제공하기 위해 클릭할 수 있는 컨트롤입니다.

개요

항목 콘텐츠
단추 메시지 이 항목에서는 단추와 함께 사용되는 메시지에 대해 설명합니다.
단추 상태 이 섹션에서는 단추를 선택하면 상태가 어떻게 변경되고 애플리케이션이 응답해야 하는지에 대해 설명합니다.
단추 형식 이 항목에서는 다양한 종류의 단추에 대해 설명합니다.
단추 사용 이 섹션에서는 단추와 관련된 특정 작업을 수행하는 방법을 설명합니다.

Functions

항목 콘텐츠
CheckDlgButton 단추 컨트롤의 확인 상태를 변경합니다.
CheckRadioButton 그룹의 지정된 라디오 단추에 확인 표시를 추가(확인)하고 그룹의 다른 모든 라디오 단추에서 확인 표시를 제거합니다(지우기).
IsDlgButtonChecked IsDlgButtonChecked 함수는 단추 컨트롤이 선택되었는지 또는 세 가지 상태의 단추 컨트롤이 선택되었는지, 선택되지 않았는지 또는 결정되지 않았는지를 결정합니다.

매크로

항목 콘텐츠
Button_Enable 단추를 사용하거나 사용하지 않도록 설정합니다.
Button_GetCheck 라디오 단추 또는 확인란의 선택 상태를 가져옵니다. 이 매크로를 사용하거나 BM_GETCHECK 메시지를 명시적으로 보낼 수 있습니다.
Button_GetIdealSize 이미지 목록이 있는 경우 텍스트와 이미지에 가장 잘 맞는 단추 크기를 가져옵니다. 이 매크로를 사용하거나 BCM_GETIDEALSIZE 메시지를 명시적으로 보낼 수 있습니다.
Button_GetImageList 단추 컨트롤에 설정된 이미지 목록을 설명하는 BUTTON_IMAGELIST 구조체를 가져옵니다. 이 매크로를 사용하거나 BCM_GETIMAGELIST 메시지를 명시적으로 보낼 수 있습니다.
Button_GetNote 명령 링크 단추와 연결된 메모의 텍스트를 가져옵니다. 이 매크로를 사용하거나 BCM_GETNOTE 메시지를 명시적으로 보낼 수 있습니다.
Button_GetNoteLength 명령 링크에 대한 설명에 표시될 수 있는 메모 텍스트의 길이를 가져옵니다. 이 매크로를 사용하거나 BCM_GETNOTELENGTH 메시지를 명시적으로 보냅니다.
Button_GetSplitInfo 지정된 분할 단추 컨트롤에 대한 정보를 가져옵니다. 이 매크로를 사용하거나 BCM_GETSPLITINFO 메시지를 명시적으로 보냅니다.
Button_GetState 라디오 단추 또는 확인란의 선택 상태를 가져옵니다. 이 매크로를 사용하거나 BM_GETSTATE 메시지를 명시적으로 보낼 수 있습니다.
Button_GetText 단추의 텍스트를 가져옵니다.
Button_GetTextLength 단추 텍스트의 문자 수를 가져옵니다.
Button_GetTextMargin 단추 컨트롤에서 텍스트를 그리는 데 사용되는 여백을 가져옵니다. 이 매크로를 사용하거나 BCM_GETTEXTMARGIN 메시지를 명시적으로 보낼 수 있습니다.
Button_SetCheck 라디오 단추 또는 확인란의 선택 상태를 설정합니다. 이 매크로를 사용하거나 BM_SETCHECK 메시지를 명시적으로 보낼 수 있습니다.
Button_SetDropDownState BS_SPLITBUTTON 스타일로 지정된 단추의 드롭다운 상태를 설정합니다. 이 매크로를 사용하거나 BCM_SETDROPDOWNSTATE 메시지를 명시적으로 보냅니다.
Button_SetElevationRequiredState 관리자 권한의 아이콘을 표시하기 위해 지정된 단추 또는 명령 링크에 대한 상승 필수 상태를 설정합니다. 이 매크로를 사용하거나 BCM_SETSHIELD 메시지를 명시적으로 보냅니다.
Button_SetImageList 단추 컨트롤에 이미지 목록을 할당합니다. 이 매크로를 사용하거나 BCM_SETIMAGELIST 메시지를 명시적으로 보낼 수 있습니다.
Button_SetNote 지정된 명령 링크 단추와 관련된 메모의 텍스트를 설정합니다. 이 매크로를 사용하거나 BCM_SETNOTE 메시지를 명시적으로 보낼 수 있습니다.
Button_SetSplitInfo 지정된 분할 단추 컨트롤에 대한 정보를 설정합니다. 이 매크로를 사용하거나 BCM_SETSPLITINFO 메시지를 명시적으로 보냅니다.
Button_SetState 단추의 강조 표시 상태를 설정합니다. 강조 상태는 사용자가 단추를 누른 것처럼 단추가 강조 표시되는지 여부를 나타냅니다. 이 매크로를 사용하거나 BM_SETSTATE 메시지를 명시적으로 보낼 수 있습니다.
Button_SetStyle 단추의 스타일을 설정합니다. 이 매크로를 사용하거나 BM_SETSTYLE 메시지를 명시적으로 보낼 수 있습니다.
Button_SetText 단추의 텍스트를 설정합니다.
Button_SetTextMargin 단추 컨트롤에서 텍스트를 그리기 위한 여백을 설정합니다. 이 매크로를 사용하거나 BCM_SETTEXTMARGIN 메시지를 명시적으로 보낼 수 있습니다.

메시지

항목 콘텐츠
BCM_GETIDEALSIZE 이미지 목록이 있는 경우 텍스트와 이미지에 가장 잘 맞는 단추 크기를 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetIdealSize 매크로를 사용할 수 있습니다.
BCM_GETIMAGELIST 단추 컨트롤에 할당된 이미지 목록을 설명하는 BUTTON_IMAGELIST 구조체를 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetImageList 매크로를 사용할 수 있습니다.
BCM_GETNOTE 명령 링크 단추와 연결된 메모의 텍스트를 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetNote 매크로를 사용할 수 있습니다.
BCM_GETNOTELENGTH 명령 링크 단추에 대한 설명에 표시될 수 있는 메모 텍스트의 길이를 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetNoteLength 매크로를 사용하여 보냅니다.
BCM_GETSPLITINFO 분할 단추 컨트롤에 대한 정보를 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetSplitInfo 매크로를 사용하여 보냅니다.
BCM_GETTEXTMARGIN 단추 컨트롤에서 텍스트를 그리는 데 사용되는 여백을 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetTextMargin 매크로를 사용할 수 있습니다.
BCM_SETDROPDOWNSTATE 스타일이 TBSTYLE_DROPDOWN인 단추의 드롭다운 상태를 설정합니다. 이 메시지를 명시적으로 보내거나 Button_SetDropDownState 매크로를 사용하여 보냅니다.
BCM_SETIMAGELIST 단추 컨트롤에 이미지 목록을 할당합니다. 이 메시지를 명시적으로 보내거나 Button_SetImageList 매크로를 사용할 수 있습니다.
BCM_SETNOTE 명령 링크 단추와 관련된 메모의 텍스트를 설정합니다. 이 메시지를 명시적으로 보내거나 Button_SetNote 매크로를 사용할 수 있습니다.
BCM_SETSHIELD 관리자 권한의 아이콘을 표시하기 위해 지정된 단추 또는 명령 링크에 대한 상승 필수 상태를 설정합니다. 이 메시지를 명시적으로 보내거나 Button_SetElevationRequiredState 매크로를 사용하여 보냅니다.
BCM_SETSPLITINFO 분할 단추 컨트롤에 대한 정보를 설정합니다. 이 메시지를 명시적으로 보내거나 Button_SetSplitInfo 매크로를 사용하여 보냅니다.
BCM_SETTEXTMARGIN BCM_SETTEXTMARGIN 메시지는 단추 컨트롤에서 텍스트를 그리기 위한 여백을 설정합니다.
BM_CLICK 단추를 클릭하는 사용자를 시뮬레이션합니다. 이 메시지로 인해 단추는 WM_LBUTTONDOWNWM_LBUTTONUP 메시지를 수신하고 단추의 부모 창에서 BN_CLICKED 알림 코드를 수신합니다.
BM_GETCHECK 라디오 단추 또는 확인란의 선택 상태를 가져옵니다. 이 메시지를 명시적으로 보내거나 Button_GetCheck 매크로를 사용할 수 있습니다.
BM_GETIMAGE 단추와 관련된 이미지(아이콘 또는 비트맵)에 대한 핸들을 검색합니다.
BM_GETSTATE 단추 또는 확인란의 상태를 검색합니다. 이 메시지를 명시적으로 보내거나 Button_GetState 매크로를 사용할 수 있습니다.
BM_SETCHECK 라디오 단추 또는 확인란의 선택 상태를 설정합니다. 이 메시지를 명시적으로 보내거나 Button_SetCheck 매크로를 사용하여 보낼 수 있습니다.
BM_SETDONTCLICK 단추가 포커스를 받을 때 BN_CLICKED 메시지 생성을 제어하는 라디오 단추에 플래그를 설정합니다.
BM_SETIMAGE 새 이미지(아이콘 또는 비트맵)를 단추와 연결합니다.
BM_SETSTATE 단추의 강조 표시 상태를 설정합니다. 강조 상태는 사용자가 단추를 누른 것처럼 단추가 강조 표시되는지 여부를 나타냅니다. 이 메시지를 명시적으로 보내거나 Button_SetState 매크로를 사용할 수 있습니다.
BM_SETSTYLE 단추의 스타일을 설정합니다. 이 메시지를 명시적으로 보내거나 Button_SetStyle 매크로를 사용할 수 있습니다.

알림

항목 콘텐츠
BCN_DROPDOWN 사용자가 단추의 드롭다운 화살표를 클릭하면 전송됩니다. 컨트롤의 부모 창은 WM_NOTIFY 메시지 형식으로 이 알림 코드를 받습니다.
BCN_HOTITEMCHANGE 단추 컨트롤 소유자에게 마우스가 단추 컨트롤의 클라이언트 영역에 들어가거나 나가고 있음을 알립니다. 단추 컨트롤은 WM_NOTIFY 메시지 형식으로 이 알림 코드를 보냅니다.
BN_CLICKED 사용자가 단추를 클릭하면 전송됩니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_CLICKED 알림 코드를 수신합니다.
BN_DBLCLK 사용자가 단추를 두 번 클릭하면 전송됩니다. 이 알림 코드는 BS_USERBUTTON, BS_RADIOBUTTONBS_OWNERDRAW 단추의 경우 자동으로 전송됩니다. 다른 단추 형식은 BS_NOTIFY 스타일이 있는 경우에만 BN_DBLCLK를 전송합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_DBLCLK 알림 코드를 수신합니다.
BN_DISABLE 단추가 사용하지 않도록 설정되었을 때 전송됩니다. 참고: 이 알림 코드는 버전 3.0 이전의 16비트 Windows 버전과의 호환성을 위해서만 제공됩니다. 애플리케이션은 이 작업을 위해 BS_OWNERDRAW 단추 스타일과 DRAWITEMSTRUCT 구조체를 사용해야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_DISABLE 알림 코드를 수신합니다.
BN_DOUBLECLICKED 사용자가 단추를 두 번 클릭하면 전송됩니다. 이 알림 코드는 BS_USERBUTTON, BS_RADIOBUTTONBS_OWNERDRAW 단추의 경우 자동으로 전송됩니다. 다른 단추 형식은 BS_NOTIFY 스타일이 있는 경우에만 BN_DOUBLECLICKED를 전송합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_DOUBLECLICKED 알림 코드를 수신합니다.
BN_HILITE 사용자가 단추를 선택하면 전송됩니다. 참고: 이 알림 코드는 버전 3.0 이전의 16비트 Windows 버전과의 호환성을 위해서만 제공됩니다. 애플리케이션은 이 작업을 위해 BS_OWNERDRAW 단추 스타일과 DRAWITEMSTRUCT 구조체를 사용해야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_HILITE 알림 코드를 수신합니다.
BN_KILLFOCUS 단추가 키보드 포커스를 잃으면 전송됩니다. 이 알림 코드를 보내려면 단추에 BS_NOTIFY 스타일이 있어야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_KILLFOCUS 알림 코드를 수신합니다.
BN_PAINT 단추를 그려야 할 때 전송됩니다. 참고: 이 알림 코드는 버전 3.0 이전의 16비트 Windows 버전과의 호환성을 위해서만 제공됩니다. 애플리케이션은 이 작업을 위해 BS_OWNERDRAW 단추 스타일과 DRAWITEMSTRUCT 구조체를 사용해야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_PAINT 알림 코드를 수신합니다.
BN_PUSHED 단추가 누른 상태로 설정된 경우 전송됩니다. 참고: 이 알림 코드는 버전 3.0 이전의 16비트 Windows 버전과의 호환성을 위해서만 제공됩니다. 애플리케이션은 이 작업을 위해 BS_OWNERDRAW 단추 스타일과 DRAWITEMSTRUCT 구조체를 사용해야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_PUSHED 알림 코드를 수신합니다.
BN_SETFOCUS 단추가 키보드 포커스를 받을 때 전송됩니다. 이 알림 코드를 보내려면 단추에 BS_NOTIFY 스타일이 있어야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_SETFOCUS 알림 코드를 수신합니다.
BN_UNHILITE 단추에서 강조 표시를 제거해야 할 때 전송됩니다. 참고: 이 알림 코드는 버전 3.0 이전의 16비트 Windows 버전과의 호환성을 위해서만 제공됩니다. 애플리케이션은 이 작업을 위해 BS_OWNERDRAW 단추 스타일과 DRAWITEMSTRUCT 구조체를 사용해야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_UNHILITE 알림 코드를 수신합니다.
BN_UNPUSHED 단추가 누르지 않은 상태로 설정된 경우 전송됩니다. 참고: 이 알림 코드는 버전 3.0 이전의 16비트 Windows 버전과의 호환성을 위해서만 제공됩니다. 애플리케이션은 이 작업을 위해 BS_OWNERDRAW 단추 스타일과 DRAWITEMSTRUCT 구조체를 사용해야 합니다.
단추의 부모 창은 WM_COMMAND 메시지를 통해 BN_UNPUSHED 알림 코드를 수신합니다.
NM_CUSTOMDRAW(단추) 단추에 대한 사용자 지정 그리기 작업에 대한 단추 컨트롤의 부모 창을 알립니다.
단추 컨트롤은 WM_NOTIFY 메시지 형식으로 이 알림 코드를 보냅니다.
WM_CTLCOLORBTN WM_CTLCOLORBTN 메시지는 단추를 그리기 전에 단추의 부모 창으로 전송됩니다. 부모 창은 단추의 텍스트와 배경색을 변경할 수 있습니다. 그러나 소유자가 그린 단추만 이 메시지를 처리하는 부모 창에 응답합니다.

구조체

항목 콘텐츠
BUTTON_IMAGELIST 단추 컨트롤과 함께 사용되는 이미지 목록에 대한 정보를 포함합니다.
BUTTON_SPLITINFO 분할 단추(BS_SPLITBUTTONBS_DEFSPLITBUTTON 스타일)을 정의하는 정보를 포함합니다. BCM_GETSPLITINFOBCM_SETSPLITINFO 메시지와 함께 사용됩니다.
NMBCDROPDOWN BCN_DROPDOWN 알림에 대한 정보를 포함합니다.
NMBCHOTITEM 단추 컨트롤 위의 마우스 놓기에 대한 정보를 포함합니다.

상수

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