일반 컨트롤 참조

이 섹션에는 특정 컨트롤뿐만 아니라 여러 컨트롤에 적용되는 프로그래밍 요소에 대한 참조 정보가 포함되어 있습니다. 대부분의 컨트롤이 지원하는 함수, 매크로, 메시지, 알림 및 구조체가 있습니다. 예를 들어, 대부분의 컨트롤은 NM_HOVER 알림을 사용하여 마우스 클릭을 처리합니다.

개요

항목 콘텐츠
공용 컨트롤 정보 공용 컨트롤은 Windows 운영 체제에 포함된 DLL인 공용 컨트롤 라이브러리에 의해 구현되는 창 집합입니다.
공용 컨트롤 FAQ 이 FAQ는 공용 컨트롤에 대한 몇 가지 일반적인 질문에 대한 답변을 제공합니다.

Functions

항목 콘텐츠
DoReaderMode 창에서 읽기 권한자 모드를 사용하도록 설정합니다.
DPA_Clone DPA(동적 포인터 배열)를 복제합니다.
DPA_Create DPA를 만듭니다.
DPA_CreateEx 지정된 크기 및 힙 위치를 사용하여 DPA를 만듭니다.
DPA_DeleteAllPtrs DPA에서 모든 항목을 제거하고 그에 따라 DPA를 축소합니다.
DPA_DeletePtr DPA에서 항목을 제거합니다. 제거된 항목을 수용하기 위해 필요한 경우 DPA가 축소됩니다.
DPA_Destroy DPA(동적 포인터 배열)를 해제합니다.
DPA_DestroyCallback DPA의 각 요소에서 pfnCB를 호출한 다음 DPA를 해제합니다.
DPA_EnumCallback DPA(동적 포인터 배열)를 반복하고 각 항목에서 pfnCB를 호출합니다.
DPA_GetPtr DPA에서 항목을 가져옵니다.
DPA_GetPtrIndex DPA에서 찾은 일치하는 항목의 인덱스를 가져옵니다.
DPA_GetSize DPA의 크기를 가져옵니다.
DPA_Grow DPA의 포인터 수를 변경합니다.
DPA_InsertPtr DPA의 지정된 위치에 새 항목을 삽입합니다. 필요한 경우 DPA는 새 항목을 수용하도록 확장됩니다.
DPA_LoadStream 지정된 콜백 함수를 호출하여 각 요소를 읽어 스트림에서 DPA를 로드합니다.
DPA_Merge 두 DPA의 콘텐츠를 결합합니다.
DPA_SaveStream 헤더를 작성한 다음 지정된 콜백 함수를 호출하여 각 요소를 작성하여 DPA를 스트림에 저장합니다.
DPA_검색 DPA에서 항목을 찾습니다.
DPA_SetPtr DPA의 항목에 값을 할당합니다.
DPA_Sort DPA(동적 포인터 배열)의 항목을 정렬합니다.
DrawShadowText 그림자가 있는 텍스트를 그립니다.
DrawTextExPrivWrap 지정된 사각형에 서식 있는 텍스트를 그립니다. 이 함수는 DrawTextEx에 대한 호출을 래핑합니다.
DrawTextWrap 지정된 사각형에 서식 있는 텍스트를 그립니다. 지정된 방법(탭 확장, 문자 정렬, 줄 바꿈 등)에 따라 텍스트 서식을 지정합니다. 이 함수는 DrawText에 대한 호출을 래핑합니다.
DSA_Clone DSA(동적 구조체 배열)를 복제합니다.
DSA_Create DSA를 만듭니다.
DSA_DeleteAllItems DSA에서 모든 항목을 삭제합니다.
DSA_DeleteItem DSA에서 항목을 삭제합니다.
DSA_Destroy DSA를 해제합니다.
DSA_DestroyCallback 각 항목에 지정된 콜백 함수를 호출하여 DSA를 반복합니다. 배열 끝에 도달하면 DSA가 해제됩니다.
DSA_EnumCallback DSA를 반복하고 각 항목에서 pfnCB를 호출합니다.
DSA_GetItem DSA에서 요소를 가져옵니다.
DSA_GetItemPtr DSA에서 요소에 대한 포인터를 가져옵니다.
DSA_GetSize DSA의 크기를 가져옵니다.
DSA_InsertItem DSA에 새 항목을 삽입합니다. 필요한 경우 DSA는 새 항목을 수용하도록 확장됩니다.
DSA_SetItem DSA에서 요소의 콘텐츠를 설정합니다.
DSA_Sort DSA의 항목을 정렬합니다.
ExtTextOutWrap 현재 선택한 글꼴, 배경색 및 텍스트 색을 사용하여 텍스트를 그립니다. 필요에 따라 클리핑, 불투명도 또는 둘 다에 사용할 차원을 제공할 수 있습니다. 이 함수는 ExtTextOut에 대한 호출을 래핑합니다.
GetEffectiveClientRect 지정된 모든 컨트롤을 포함하는 클라이언트 영역의 사각형 크기를 계산합니다.
GetMUILanguage 특정 프로세스에 대한 공용 컨트롤에서 현재 사용 중인 언어를 가져옵니다.
GetTextExtentPoint32Wrap 지정된 텍스트 문자열의 너비와 높이를 계산합니다. 이 함수는 GetTextExtentPoint에 대한 호출을 래핑합니다.
InitCommonControls 특정 공용 컨트롤 창 클래스를 등록하고 초기화합니다. 이 함수는 사용되지 않습니다. 새 애플리케이션은 InitCommonControlsEx 함수를 사용해야 합니다.
InitCommonControlsEx 공용 컨트롤 DLL에서 특정 공용 컨트롤 클래스를 등록합니다.
InitMUILanguage 애플리케이션이 시스템 언어와 다른 공용 컨트롤과 함께 사용할 언어를 지정할 수 있도록 합니다.
LoadIconMetric 클라이언트 지정 시스템 메트릭을 사용하여 지정된 아이콘 리소스를 로드합니다.
LoadIconWithScaleDown 아이콘을 로드합니다. 아이콘이 표준 크기가 아닌 경우 이 함수는 작은 이미지를 확대하는 대신 큰 이미지의 크기를 조정합니다.
MirrorIcon 아이콘이 미러링된 디바이스 컨텍스트에 올바르게 표시되도록 반전(미러링)합니다.
PFNDACOMPARE DSA_Sort에서 사용하는 비교 함수의 프로토타입을 정의합니다.
PFNDACOMPARECONST 비교 중인 항목이 상수 개체일 때 DSA_Sort에서 사용하는 비교 함수의 프로토타입을 정의합니다.
PFNDANUMCALLBACK DSA 및 DPA 함수에서 사용하는 콜백 함수의 프로토타입을 정의합니다.
PFNDAENUMCALLBACKCONST 관련 항목이 상수 데이터에 대한 포인터일 때 DSA 및 DPA 함수에서 사용하는 콜백 함수의 프로토타입을 정의합니다.
PFNDPACOMPARE DPA_SortDPA_Search에서 사용하는 비교 함수의 프로토타입을 정의합니다.
PFNDPACOMPARECONST 비교 중인 항목이 상수 개체일 때 DPA_Sort 또는 DPA_Search에서 사용하는 비교 함수의 프로토타입을 정의합니다.
PFNDPAENUMCALLBACK DPA_EnumCallback에서 사용하는 콜백 함수의 프로토타입을 정의합니다.
PFNDPAMERGE DPA_Merge에서 사용하는 병합 함수의 프로토타입을 정의합니다.
PFNDPAMERGECONST 상수 값을 사용하여 DPA_Merge에서 사용하는 병합 함수의 프로토타입을 정의합니다.
PFNDPASTREAM DPA_LoadStreamDPA_SaveStream에서 사용하는 콜백 함수의 프로토타입을 정의합니다.
PFNDSAENUMCALLBACK DSA_DestroyCallback에서 사용하는 콜백 함수의 프로토타입을 정의합니다.
ReaderScroll 활성 스크롤 영역으로 선언된 읽기 권한자 모드 창의 일부 내에서 마우스 포인터를 이동할 때 사용되는 애플리케이션 정의 콜백 함수입니다.
ShowHideMenuCtl 지정된 메뉴 항목의 확인 표시 특성을 설정하거나 제거하고 해당 컨트롤을 표시하거나 숨깁니다. 이 함수는 지정된 메뉴 항목에 확인 표시가 없는 경우 확인 표시를 추가한 다음 해당 컨트롤을 표시합니다. 메뉴 항목에 이미 확인 표시가 있는 경우 이 함수는 확인 표시를 제거하고 해당 컨트롤을 숨깁니다.
Str_GetPtr 한 버퍼에서 다른 버퍼로 문자열을 복사합니다.
Str_SetPtrW ppszCurrentpszNew의 복사본으로 설정하고 필요한 경우 이전 값을 해제합니다.
TranslateDispatch DoReaderMode 함수의 클라이언트에서 읽기 권한자 모드 창의 스크롤 영역을 대상으로 하는 모든 창 메시지를 가로채고 명시적으로 처리하는 데 사용됩니다. 이는 애플리케이션에서 정의한 콜백 함수입니다.

매크로

항목 콘텐츠
DPA_AppendPtr DPA 끝에 새 항목을 삽입합니다.
DPA_FastDeleteLastPtr DPA에서 마지막 포인터를 삭제합니다.
DPA_FastGetPtr DPA에서 지정된 포인터의 값을 가져옵니다.
DPA_GetPtrCount DPA의 포인터 수를 가져옵니다.
DPA_GetPtrPtr DPA의 내부 포인터 배열에 대한 포인터를 가져옵니다.
DPA_SetPtrCount DPA의 포인터 수를 설정합니다.
DPA_SortedInsertPtr 지정된 기존 항목 앞이나 뒤에 새 항목을 삽입합니다.
DSA_AppendItem DSA 끝에 새 항목을 추가합니다.
DSA_GetItemCount DSA의 항목 수를 가져옵니다.
FORWARD_WM_NOTIFY WM_NOTIFY 메시지를 보내거나 게시합니다.
HANDLE_WM_NOTIFY WM_NOTIFY 메시지를 처리하는 함수를 호출합니다.
INDEXTOSTATEIMAGEMASK 트리 뷰 컨트롤 또는 목록 뷰 컨트롤이 인덱스를 사용하여 항목의 상태 이미지를 검색할 수 있도록 상태 이미지의 인덱스를 준비합니다.

메시지

항목 콘텐츠
CCM_DPISCALE 트리 뷰 컨트롤, 목록 뷰 컨트롤, ComboBoxEx 컨트롤, 헤더 컨트롤, 단추, 도구 모음 컨트롤, 애니메이션 컨트롤이미지 목록에서 자동으로 높은 DPI(인치당 도트 수) 조정을 사용합니다.
CCM_GETUNICODEFORMAT 컨트롤의 유니코드 문자 형식 플래그를 가져옵니다.
CCM_GETVERSION 가장 최근의 CCM_SETVERSION 메시지에 의해 설정된 컨트롤의 버전 번호를 가져옵니다.
CCM_SETUNICODEFORMAT 컨트롤의 유니코드 문자 형식 플래그를 설정합니다. 이 메시지를 통해 컨트롤을 다시 만들지 않고도 런타임에 컨트롤에서 사용하는 문자 집합을 변경할 수 있습니다.
CCM_SETVERSION 이 메시지는 특정 버전과 관련된 동작이 예상된다는 것을 컨트롤에 알리는 데 사용됩니다.
CCM_SETWINDOWTHEME 컨트롤의 시각적 스타일을 설정합니다.
WM_NOTIFY 이벤트가 발생했거나 컨트롤에 일부 정보가 필요한 경우 공용 컨트롤에서 부모 창으로 보냅니다.
WM_NOTIFYFORMAT 창이 WM_NOTIFY 알림 메시지에서 ANSI 또는 유니코드 구조체를 허용하는지 결정합니다. WM_NOTIFYFORMAT 메시지는 공용 컨트롤에서 부모 창으로, 부모 창에서 공용 컨트롤로 전송됩니다.

알림

항목 콘텐츠
NM_CHAR NM_CHAR 알림 코드는 문자 키가 처리될 때 컨트롤에서 전송됩니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_CUSTOMDRAW 사용자 지정 그리기 작업에 대해 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_CUSTOMTEXT 사용자 지정 텍스트 작업에 대해 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_FONTCHANGED 컨트롤이 글꼴을 변경했을 때 목록 뷰 컨트롤에서 보냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_GETCUSTOMSPLITRECT 분할 단추를 구성하는 두 개의 사각형에 대한 측정값을 가져오기 위해 단추 컨트롤에서 부모에게 보냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_HOVER 항목을 마우스로 가리키면 컨트롤에서 보냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_KEYDOWN 컨트롤에 키보드 포커스가 있고 사용자가 키를 누를 때 컨트롤에서 보냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_KILLFOCUS 컨트롤이 입력 포커스를 잃었음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_LDOWN 마우스 왼쪽 단추를 눌렀음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_NCHITTEST 컨트롤이 WM_NCHITTEST 메시지를 수신할 때 rebar 컨트롤에서 보냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_OUTOFMEMORY 사용 가능한 메모리가 부족하여 컨트롤이 작업을 완료할 수 없음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_RDOWN 현재 지원되지 않습니다.
NM_RELEASEDCAPTURE 컨트롤이 마우스 캡처를 해제하고 있음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_RETURN 컨트롤에 입력 포커스가 있고 사용자가 Enter 키를 눌렀음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_SETCURSOR 컨트롤이 NM_SETCURSOR 메시지에 대한 응답으로 커서를 설정하고 있음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_SETFOCUS 컨트롤이 입력 포커스를 받았음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_THEMECHANGED 테마가 변경되었음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_TOOLTIPSCREATED 컨트롤이 도구 설명 컨트롤을 만들었음을 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
NM_TVSTATEIMAGECHANGING 상태 이미지가 변경되는 트리 뷰 컨트롤에서 부모 창으로 보냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.

구조체

항목 콘텐츠
COLORSCHEME 도구 모음 또는 Rebar의 단추 그리기에 대한 정보를 포함합니다.
DPASTREAMINFO PFNDPASTREAM 콜백 함수에서 사용하는 스트림 항목을 포함합니다.
INITCOMMONCONTROLSEX DLL(동적 연결 라이브러리)에서 공용 컨트롤 클래스를 로드하는 데 사용되는 정보를 전달합니다. 이 구조체는 InitCommonControlsEx 함수와 함께 사용됩니다.
NMCHAR 문자 알림 메시지에 사용되는 정보를 포함합니다.
NMCUSTOMSPLITRECTINFO 분할 단추의 두 사각형에 대한 정보를 포함합니다. NM_GETCUSTOMSPLITRECT 알림과 함께 전송됩니다.
NMCUSTOMTEXT 사용자 지정 텍스트 알림에 사용되는 정보를 포함합니다.
NMHDR 알림 메시지에 대한 정보를 포함합니다.
NMKEY 주요 알림 메시지와 함께 사용되는 정보를 포함합니다.
NMMOUSE 마우스 알림 메시지에 사용되는 정보를 포함합니다.
NMOBJECTNOTIFY TBN_GETOBJECT, TCN_GETOBJECTPSN_GETOBJECT 알림 코드와 함께 사용되는 정보를 포함합니다.
NMTOOLTIPSCREATED NM_TOOLTIPSCREATED 알림 코드와 함께 사용되는 정보를 포함합니다.
READERMODEINFO DoReaderMode 함수를 초기화하는 데 필요한 정보를 포함합니다.

상수

항목 콘텐츠
CDRF 상수 이러한 상수는 NM_CUSTOMDRAW 알림 코드에 대한 응답으로 컨트롤에서 반환 값으로 사용됩니다.
스타일 이 섹션에는 공용 컨트롤 스타일이 나열되어 있습니다. 언급된 경우를 제외하고 이러한 스타일은 헤더 컨트롤, 도구 모음 컨트롤 및 상태 창에 적용됩니다.
창 클래스 이 섹션에는 공용 컨트롤 라이브러리에서 제공하는 창 클래스 이름이 나열되어 있습니다.