대화 상자 컨트롤(C++)

도구 상자 창의 대화 상자 편집기을 사용하여 원하는 컨트롤을 선택하고 대화 상자로 끌 수 있는 컨트롤을 대화 상자에 추가할 수 있습니다. 기본적으로 도구 상자 창은 자동 숨기기로 설정됩니다. 대화 상자 편집기가 열려 있으면 솔루션의 왼쪽 여백에 탭으로 나타납니다. 그러나 창의 오른쪽 위 모서리에 있는 자동 숨기기 단추를 선택하여 도구 상자 창을 위치에 고정할 수 있습니다. 이 창의 동작을 제어하는 방법에 대한 자세한 내용은 창 관리를 참조하세요.

대화 상자에 컨트롤을 추가하거나, 기존 컨트롤의 위치를 변경하거나, 컨트롤을 한 대화 상자에서 다른 대화 상자로 이동하는 가장 빠른 방법은 끌어서 놓기 메서드를 사용하는 것입니다. 컨트롤의 위치는 대화 상자에 놓을 때까지 점선으로 표시됩니다. 끌어서 놓기 메서드를 사용하여 대화 상자에 컨트롤을 추가하면 컨트롤에 해당 컨트롤 형식에 적합한 표준 높이가 지정됩니다.

대화 상자에 컨트롤을 추가하거나 위치를 변경하는 경우 최종 배치는 안내선 또는 여백 또는 레이아웃 눈금이 켜져 있는지 여부에 따라 결정될 수 있습니다.

대화 상자에 컨트롤을 추가한 후에는 속성 창에서 해당 캡션 같은 속성을 변경할 수 있습니다. 여러 컨트롤을 선택하고 해당 속성을 한 번에 모두 변경할 수도 있습니다.

대화 상자 편집기에서 컨트롤, 레이아웃 컨트롤 및 컨트롤 액세스 및 값을 추가, 편집 또는 삭제하는 방법을 참조하세요.

컨트롤 및 대화 상자에 대한 자세한 내용은 컨트롤 클래스, 대화 상자 클래스스크롤 막대 스타일을 참조하세요.

기본 이벤트가 있는 도구 상자에서 사용할 수 있는 표준 컨트롤은 다음과 같습니다.

컨트롤 이름 기본 이벤트
Button 컨트롤 BN_CLICKED
확인란 컨트롤 BN_CLICKED
콤보 상자 컨트롤 CBN_SELCHANGE
편집 컨트롤 EN_CHANGE
그룹 상자 (해당 사항 없음)
List Box 컨트롤 LBN_SELCHANGE
라디오 단추 컨트롤 BN_CLICKED
정적 텍스트 컨트롤 (해당 사항 없음)
그림 컨트롤 (해당 사항 없음)
서식 있는 편집 2.0 컨트롤 EN_CHANGE
스크롤 막대 컨트롤 NM_THEMECHANGED

참고 항목

MFC에서 RichEdit 1.0 컨트롤을 사용하는 방법에 대한 자세한 내용은 MFC리치 편집 컨트롤 예제와 함께 RichEdit 1.0 컨트롤 사용을 참조하세요.

도구 상자에서 향상된 기능을 제공하는 데 사용할 수 있는 Windows 공용 컨트롤은 다음과 같습니다.

컨트롤 이름 기본 이벤트
슬라이더 컨트롤 NM_CUSTOMDRAW
스핀 제어 UDN_DELTAPOS
진행률 제어 NM_CUSTOMDRAW
핫 키 컨트롤 NM_OUTOFMEMORY
목록 컨트롤 LVN_ITEMCHANGE
트리 컨트롤 TVN_SELCHANGE
탭 컨트롤 TCN_SELCHANGE
애니메이션 컨트롤 ACN_START
날짜 시간 선택 컨트롤 DTN_DATETIMECHANGE
월 달력 컨트롤 MCN_SELCHANGE
IP 주소 컨트롤 IPN_FIELDCHANGED
확장된 콤보 상자 컨트롤
사용자 지정 컨트롤 TTN_GETDISPINFO

사용자 지정 컨트롤

대화 상자 편집기를 사용하면 대화 상자 템플릿에서 기존 사용자 지정 또는 사용자 정의 컨트롤을 사용할 수 있습니다.

참고 항목

이러한 의미에서 사용자 지정 컨트롤은 ActiveX 컨트롤과 혼동해서는 안 됩니다. ActiveX 컨트롤을 OLE 사용자 지정 컨트롤이라고도 합니다. 또한 이러한 컨트롤을 Windows에서 소유자가 그린 컨트롤과 혼동하지 마세요.

이 기능은 Windows에서 제공하는 컨트롤 이외의 컨트롤을 사용할 수 있도록 하기 위한 것입니다. 런타임에 컨트롤은 Window 클래스와 연결됩니다(C++ 클래스와 동일하지 않음). 동일한 작업을 수행하는 보다 일반적인 방법은 대화 상자에 정적 컨트롤과 같은 컨트롤을 설치하는 것입니다. 그런 다음 런타임에 OnInitDialog 함수에서 해당 컨트롤을 제거하고 사용자 지정 컨트롤로 바꿉 있습니다.

참고 항목

이것은 오래된 기술입니다. 현재 대부분의 경우 ActiveX 컨트롤을 작성하거나 Windows 공용 컨트롤을 서브클래싱하는 것이 좋습니다.

이러한 사용자 지정 컨트롤의 경우 다음으로 제한됩니다.

  • 대화 상자에서 위치를 설정합니다.

  • 캡션 입력합니다.

  • 애플리케이션 코드가 이 이름으로 컨트롤을 등록해야 하며 컨트롤의 Windows 클래스 이름을 식별합니다.

  • 컨트롤의 스타일을 설정하는 32비트 16진수 값을 입력합니다.

  • 확장 스타일 설정

요구 사항

Win32

참고 항목

대화 상자 편집기