창(창 및 메시지)

그래픽 Windows 기반 애플리케이션에서 창은 응용 프로그램이 출력을 표시하고 사용자로부터 입력을 수신하는 화면의 사각형 영역입니다. 따라서 그래픽 Windows 기반 애플리케이션의 첫 번째 작업 중 하나는 창을 만드는 것입니다.

창은 다른 응용 프로그램의 창을 포함하여 다른 창과 화면을 공유합니다. 한 번에 하나의 창만 사용자로부터 입력을 받을 수 있습니다. 사용자는 마우스, 키보드 또는 기타 입력 장치를 사용하여 이 창 및 해당 창을 소유한 애플리케이션과 상호 작용할 수 있습니다.

섹션 내용

속성 설명
Windows 정보 애플리케이션에서 창을 만들고 사용하는 데 사용하는 프로그래밍 요소에 대해 설명합니다. 창 간의 관계 관리; 및 크기를 지정하고 창을 이동하고 표시합니다.
Windows 사용 창 사용과 관련된 작업을 수행하는 예제를 포함합니다.
창 기능 창 유형, 상태, 크기 및 위치와 같은 창의 기능에 대해 설명합니다.
창 참조 API 참조를 포함합니다.

 

창 함수

이름 설명
AdjustWindowRect 원하는 클라이언트 사각형 크기에 따라 창 사각형의 필요한 크기를 계산합니다. 그런 다음 창 사각형을 CreateWindow 함수에 전달하여 클라이언트 영역이 원하는 크기인 창을 만들 수 있습니다.
AdjustWindowRectEx 클라이언트 사각형의 원하는 크기에 따라 창 사각형의 필요한 크기를 계산합니다. 그런 다음 창 사각형을 CreateWindowEx 함수에 전달하여 클라이언트 영역이 원하는 크기인 창을 만들 수 있습니다.
AllowSetForegroundWindow SetForegroundWindow 함수를 사용하여 지정된 프로세스가 포그라운드 창을 설정할 수 있도록 합니다. 호출 프로세스는 이미 포그라운드 창을 설정할 수 있어야 합니다. 자세한 내용은 이 항목의 뒷부분에 있는 비고를 참조하세요.
AnimateWindow 창을 표시하거나 숨길 때 특수 효과를 생성할 수 있습니다. 애니메이션에는 롤, 슬라이드, 축소 또는 확장, 알파 혼합 페이드의 네 가지 유형이 있습니다.
AnyPopup 소유, 표시, 최상위 팝업 또는 겹쳐진 창이 화면에 있는지 여부를 나타냅니다. 함수는 호출 애플리케이션의 클라이언트 영역뿐만 아니라 전체 화면을 검색합니다.
ArrangeIconicWindows 지정된 부모 창의 최소화된(아이콘) 자식 창을 모두 정렬합니다.
BeginDeferWindowPos 다중 창 위치 구조에 대한 메모리를 할당하고 구조체에 핸들을 반환합니다.
BringWindowToTop 지정된 창을 Z 순서의 맨 위로 가져옵니다. 창이 최상위 창인 경우 활성화됩니다. 창이 자식 창인 경우 자식 창과 연결된 최상위 부모 창이 활성화됩니다.
CalculatePopupWindowPosition 지정된 앵커 지점, 팝업 창 크기, 플래그 및 선택적 제외 사각형을 사용하여 적절한 팝업 창 위치를 계산합니다. 지정된 팝업 창 크기가 바탕 화면 창 크기보다 작으면 CalculatePopupWindowPosition 함수를 사용하여 지정된 앵커 지점에 관계없이 팝업 창이 바탕 화면 창에 완전히 표시되도록 합니다.
CascadeWindows 지정된 부모 창의 지정된 자식 창을 계단식으로 배열합니다.
ChangeWindowMessageFilter UIPI(사용자 인터페이스 권한 격리) 메시지 필터에서 메시지를 추가하거나 제거합니다.
ChangeWindowMessageFilterEx 지정된 창에 대한 UIPI 메시지 필터를 수정합니다.
ChildWindowFromPoint 부모 창에 속한 자식 창 중 지정된 점을 포함하는 자식 창이 있는 경우 결정합니다. 검색은 바로 자식 창으로 제한됩니다. 손자 및 더 깊은 하위 창은 검색되지 않습니다.
ChildWindowFromPointEx 지정된 부모 창에 속한 자식 창 중 지정된 점을 포함하는 자식 창이 있는 경우 결정합니다. 이 함수는 보이지 않는 자식 창, 비활성 및 투명한 자식 창을 무시할 수 있습니다. 검색은 바로 자식 창으로 제한됩니다. 손자와 더 깊은 후손은 검색되지 않습니다.
CloseWindow 지정된 창을 최소화(삭제하지는 않음).
CreateWindow 겹치는 팝업 또는 자식 창을 만듭니다. 창 클래스, 창 제목, 창 스타일 및 창의 초기 위치 및 크기를 지정합니다(선택 사항). 또한 이 함수는 창의 부모 또는 소유자(있는 경우)와 창 메뉴를 지정합니다.
CreateWindowEx 확장 창 스타일을 사용하여 겹치는, 팝업 또는 자식 창을 만듭니다. 그렇지 않으면 이 함수는 CreateWindow 함수와 동일합니다. 창을 만드는 방법과 CreateWindowEx다른 매개 변수에 대한 자세한 내용은 CreateWindow를 참조하세요.
DeferWindowPos 지정된 창의 지정된 다중 창 위치 구조를 업데이트. 그런 다음, 함수는 업데이트된 구조체에 대한 핸들을 반환합니다. EndDeferWindowPos 함수는 이 구조의 정보를 사용하여 여러 창의 위치와 크기를 동시에 변경합니다. BeginDeferWindowPos 함수는 구조를 만듭니다.
DeregisterShellHookWindow 셸 후크 메시지를 수신하도록 등록된 지정된 셸 창을 등록 취소합니다. RegisterShellHookWindow 함수에 대한 호출로 등록된 창의 등록을 취소합니다.
DestroyWindow 지정된 창을 삭제합니다. 함수는 WM_DESTROYWM_NCDESTROY 메시지를 창으로 보내 비활성화하고 키보드 포커스를 제거합니다. 또한 이 함수는 창의 메뉴를 삭제하고, 스레드 메시지 큐를 플러시하고, 타이머를 삭제하고, 클립보드 소유권을 제거하고, 클립보드 뷰어 체인을 끊습니다(창이 뷰어 체인의 맨 위에 있는 경우).
EndDeferWindowPos 단일 화면 새로 고침 주기에서 하나 이상의 창의 위치와 크기를 동시에 업데이트합니다.
EndTask 지정된 창을 강제로 닫습니다.
EnumChildProc EnumChildWindows 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다 . 자식 창 핸들을 받습니다. WNDENUMPROC 형식은 이 콜백 함수에 대한 포인터를 정의합니다. EnumChildProc 는 애플리케이션 정의 함수 이름의 자리 표시자입니다.
EnumChildWindows 각 자식 창에 핸들을 차례로 애플리케이션 정의 콜백 함수에 전달하여 지정된 부모 창에 속하는 자식 창을 열거합니다. EnumChildWindows는 마지막 자식 창이 열거되거나 콜백 함수가 FALSE를 반환할 때까지 계속됩니다.
EnumThreadWindows 각 창에 핸들을 차례로 애플리케이션 정의 콜백 함수에 전달하여 스레드와 연결된 모든 자식이 아닌 창을 열거합니다. EnumThreadWindows는 마지막 창이 열거되거나 콜백 함수가 FALSE를 반환할 때까지 계속됩니다. 특정 창의 자식 창을 열거하려면 EnumChildWindows 함수를 사용합니다.
EnumThreadWndProc EnumThreadWindows 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. 스레드와 연결된 창 핸들을 받습니다. WNDENUMPROC 형식은 이 콜백 함수에 대한 포인터를 정의합니다. EnumThreadWndProc 는 애플리케이션 정의 함수 이름의 자리 표시자입니다.
EnumWindows 각 창에 핸들을 차례로 애플리케이션 정의 콜백 함수에 전달하여 화면의 모든 최상위 창을 열거합니다. EnumWindows는 마지막 최상위 창이 열거되거나 콜백 함수가 FALSE를 반환할 때까지 계속됩니다.
EnumWindowsProc EnumWindows 또는 EnumDesktopWindows 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. 최상위 창 핸들을 받습니다. WNDENUMPROC 형식은 이 콜백 함수에 대한 포인터를 정의합니다. EnumWindowsProc 는 애플리케이션 정의 함수 이름의 자리 표시자입니다.
Findwindow 클래스 이름과 창 이름이 지정된 문자열과 일치하는 최상위 창에 대한 핸들을 검색합니다. 이 함수는 자식 창을 검색하지 않습니다. 이 함수는 대/소문자를 구분하는 검색을 수행하지 않습니다.
FindWindowEx 클래스 이름 및 창 이름이 지정된 문자열과 일치하는 창에 대한 핸들을 검색합니다. 이 함수는 지정된 자식 창 다음에 있는 자식 창부터 시작하여 자식 창을 검색합니다. 이 함수는 대/소문자를 구분하는 검색을 수행하지 않습니다.
GetAltTabInfo 지정된 창이 애플리케이션 전환(ALT+TAB) 창인 경우 지정된 창에 대한 상태 정보를 검색합니다.
GetAncestor 지정된 창의 상위 항목에 대한 핸들을 검색합니다.
GetClientRect 창의 클라이언트 영역 좌표를 검색합니다. 클라이언트 좌표는 클라이언트 영역의 왼쪽 위와 오른쪽 아래 모서리를 지정합니다. 클라이언트 좌표는 창 클라이언트 영역의 왼쪽 위 모서리를 기준으로 하기 때문에 왼쪽 위 모서리의 좌표는 (0,0)입니다.
GetDesktopWindow 바탕 화면 창에 대한 핸들을 반환합니다. 바탕 화면 창은 전체 화면을 덮습니다. 바탕 화면 창은 다른 창이 그려지는 맨 위에 있는 영역입니다.
GetForegroundWindow 전경 창(사용자가 현재 작업 중인 창)에 대한 핸들을 반환합니다. 시스템은 다른 스레드보다 포그라운드 창을 만드는 스레드에 약간 더 높은 우선 순위를 할당합니다.
GetGUIThreadInfo 활성 창 또는 지정된 GUI 스레드에 대한 정보를 검색합니다.
GetLastActivePopup 지정된 창이 소유한 팝업 창이 가장 최근에 활성화되었는지 확인합니다.
GetLayeredWindowAttributes 계층적 창의 불투명도 및 투명도 색상 키를 검색합니다.
GetNextWindow Z-Order에서 다음 또는 이전 창에 대한 핸들을 검색합니다. 다음 창은 지정된 창 아래에 있습니다. 이전 창이 위에 있습니다. 지정된 창이 맨 위 창인 경우 함수는 다음(또는 이전) 맨 위 창에 대한 핸들을 검색합니다. 지정된 창이 최상위 창인 경우 함수는 다음(또는 이전) 최상위 창에 대한 핸들을 검색합니다. 지정된 창이 자식 창인 경우 함수는 다음(또는 이전) 자식 창에 대한 핸들을 검색합니다.
GetParent 지정된 창의 부모 또는 소유자에 대한 핸들을 검색합니다.
GetProcessDefaultLayout 부모 또는 소유자 없이 창을 만들 때 사용되는 기본 레이아웃을 검색합니다.
GetShellWindow Shell의 바탕 화면 창에 대한 핸들을 반환합니다.
GetTitleBarInfo 지정된 제목 표시줄에 대한 정보를 검색합니다.
GetTopWindow 지정된 부모 창과 연결된 자식 창의 Z 순서를 검사하고 Z 순서의 맨 위에 있는 자식 창에 대한 핸들을 검색합니다.
GetWindow 지정된 창에 대한 지정한 관계(Z-Order 또는 소유자)가 있는 창에 대한 핸들을 검색합니다.
GetWindowDisplayAffinity 지정된 창에 대한 모든 프로세스에서 현재 표시 선호도 설정을 검색합니다.
GetWindowInfo 지정된 창에 대한 정보를 검색합니다.
GetWindowModuleFileName 지정된 창 핸들과 연결된 모듈의 전체 경로 및 파일 이름을 검색합니다.
GetWindowPlacement 표시 상태와 지정된 창의 복원, 최소화 및 최대화된 위치를 검색합니다.
GetWindowRect 지정된 창의 경계 사각형의 차원을 검색합니다. 차원은 화면의 왼쪽 위 모서리를 기준으로 하는 화면 좌표로 제공됩니다.
GetWindowText 지정된 창의 제목 표시줄 텍스트(있는 경우)를 버퍼에 복사합니다. 지정한 창이 컨트롤이면 컨트롤의 텍스트가 복사됩니다. 그러나 GetWindowText 는 다른 애플리케이션에서 컨트롤의 텍스트를 검색할 수 없습니다.
GetWindowTextLength 창에 제목 표시줄이 있는 경우 지정된 창의 제목 표시줄 텍스트의 길이를 문자 단위로 검색합니다. 지정된 창이 컨트롤인 경우 함수는 컨트롤 내의 텍스트 길이를 검색합니다. 그러나 GetWindowTextLength 는 다른 애플리케이션에서 편집 컨트롤의 텍스트 길이를 검색할 수 없습니다.
GetWindowThreadProcessId 지정된 창을 만든 스레드의 식별자와 필요에 따라 창을 만든 프로세스의 식별자를 검색합니다.
IsChild 창이 지정된 부모 창의 자식 창인지 하위 창인지 여부를 결정합니다. 부모 창이 부모 창 체인에 있는 경우 자식 창은 지정된 부모 창의 직접 하위 항목입니다. 부모 창의 체인은 원래 겹치거나 팝업 창에서 자식 창으로 연결됩니다.
IsGUIThread 호출 스레드가 이미 GUI 스레드인지 여부를 확인합니다. 필요에 따라 스레드를 GUI 스레드로 변환할 수도 있습니다.
IsHungAppWindow Windows에서 지정된 애플리케이션이 응답하지 않는 것으로 간주하는지 여부를 결정합니다. 애플리케이션은 입력을 기다리지 않고 시작 처리 중이 아니며 내부 시간 제한 기간인 5초 내에 PeekMessage를 호출하지 않은 경우 응답하지 않는 것으로 간주됩니다.
IsIconic 지정된 창이 최소화되었는지 여부를 결정합니다(아이콘).
IsProcessDPIAware 현재 프로세스가 dpi 설정을 보정하도록 UI 요소의 크기를 조정하도록 인식되는 dpi(인치당 점)인지를 나타내는 값을 가져옵니다.
IsWindow 지정된 창 핸들이 기존 창을 식별하는지 여부를 확인합니다.
IsWindowUnicode 지정된 창이 네이티브 유니코드 창인지 여부를 확인합니다.
IsWindowVisible 지정된 창의 표시 상태를 검색합니다.
IsZoomed 창이 최대화되는지 여부를 결정합니다.
LockSetForegroundWindow 포그라운드 프로세스는 LockSetForegroundWindow 함수를 호출하여 SetForegroundWindow 함수에 대한 호출을 사용하지 않도록 설정할 수 있습니다.
LogicalToPhysicalPoint 창에 있는 점의 논리적 좌표를 실제 좌표로 변환합니다.
MoveWindow 지정된 창의 위치와 크기를 변경합니다. 최상위 창의 경우 위치와 차원은 화면의 왼쪽 위 모서리를 기준으로 합니다. 자식 창의 경우 부모 창 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다.
OpenIcon 최소화된(아이콘) 창을 이전 크기와 위치로 복원합니다. 그러면 창이 활성화됩니다.
PhysicalToLogicalPoint 창에 있는 점의 실제 좌표를 논리 좌표로 변환합니다.
RealChildWindowFromPoint 지정된 지점에서 자식 창에 대한 핸들을 검색합니다. 검색은 바로 자식 창으로 제한됩니다. 손자 및 더 깊은 하위 창은 검색되지 않습니다.
RealGetWindowClass 창 유형을 지정하는 문자열을 검색합니다.
RegisterShellHookWindow 셸 애플리케이션에 유용한 이벤트 또는 알림에 대한 특정 메시지를 수신하도록 지정된 셸 창을 등록합니다. 수신된 이벤트 메시지는 지정된 창의 바탕 화면과 연결된 셸 창으로 전송된 메시지입니다. 대부분의 메시지는 SetWindowsHookEx 함수를 호출하고 후크 형식에 대한 WH_SHELL 지정한 후 받을 수 있는 메시지와 동일합니다. RegisterShellHookWindow와의 차이점은 메시지가 콜백 프로시저가 아니라 지정된 창의 WindowProc을 통해 수신된다는 점입니다.
SetForegroundWindow 지정된 창을 만든 스레드를 포그라운드에 넣고 창을 활성화합니다. 키보드 입력이 창으로 전달되고 사용자에 대한 다양한 시각적 신호가 변경됩니다. 시스템은 다른 스레드보다 포그라운드 창을 만든 스레드에 약간 더 높은 우선 순위를 할당합니다.
SetLayeredWindowAttributes 계층적 창의 불투명도 및 투명도 색상 키를 설정합니다.
SetParent 지정된 자식 창의 부모 창을 변경합니다.
SetProcessDefaultLayout 현재 실행 중인 프로세스에 대해서만 부모 또는 소유자 없이 창을 만들 때 기본 레이아웃을 변경합니다.
SetProcessDPIAware 현재 프로세스를 dpi 인식으로 설정합니다.
SetWindowDisplayAffinity 디스플레이 선호도 설정을 창과 연결된 hWnd에 커널 모드로 저장합니다.
SetWindowPlacement 표시 상태와 지정된 창의 복원, 최소화 및 최대화된 위치를 설정합니다.
SetWindowPos 자식, 팝업 또는 최상위 창의 크기, 위치 및 Z 순서를 변경합니다. 이러한 창은 화면의 모양에 따라 정렬됩니다. 맨 위 창은 가장 높은 순위를 받고 Z 순서의 첫 번째 창입니다.
SetWindowText 지정된 창 제목 표시줄의 텍스트를 변경합니다(있는 경우). 지정한 창이 컨트롤이면 컨트롤의 텍스트가 변경됩니다. 그러나 SetWindowText 는 다른 애플리케이션에서 컨트롤의 텍스트를 변경할 수 없습니다.
ShowOwnedPopups 지정된 창이 소유한 모든 팝업 창을 표시하거나 숨깁니다.
Showwindow 지정된 창의 표시 상태를 설정합니다.
ShowWindowAsync 다른 스레드에서 만든 창의 표시 상태를 설정합니다.
SoundSentry 시각적 신호를 트리거하여 소리가 재생 중임을 나타냅니다.
SwitchToThisWindow 포커스를 지정된 창으로 전환하여 포그라운드로 가져옵니다.
TileWindows 지정한 부모 창의 지정된 자식 창을 타일로 지정합니다.
UpdateLayeredWindow 계층적 창의 위치, 크기, 모양, 내용 및 투명도를 업데이트합니다.
UpdateLayeredWindowIndirect 계층적 창의 위치, 크기, 모양, 내용 및 투명도를 업데이트합니다.
WindowFromPhysicalPoint 지정된 물리적 지점이 포함된 창에 대한 핸들을 검색합니다.
WindowFromPoint 지정된 점을 포함하는 창에 대한 핸들을 검색합니다.
Winmain WinMain 은 Windows 기반 애플리케이션에 대해 사용자가 제공한 진입점에 대한 기존 이름입니다.

 

창 매크로

이름 설명
GET_X_LPARAM 지정된 LPARAM 값에서 서명된 x 좌표를 검색합니다.
GET_Y_LPARAM 지정된 LPARAM 값에서 서명된 y 좌표를 검색합니다.
HIBYTE 지정된 16비트 값에서 상위 바이트를 검색합니다.
HIWORD 지정된 32비트 값에서 상위 단어를 검색합니다.
LOBYTE 지정된 값에서 하위 바이트를 검색합니다.
LOWORD 지정된 값에서 낮은 순서의 단어를 검색합니다.
MAKELONG 지정된 값을 연결하여 LONG 값을 만듭니다.
MAKELPARAM 메시지에서 lParam 매개 변수로 사용할 값을 만듭니다. 매크로는 지정된 값을 연결합니다.
MAKELRESULT 창 프로시저에서 반환 값으로 사용할 값을 만듭니다. 매크로는 지정된 값을 연결합니다.
MAKEWORD 지정된 값을 연결하여 WORD 값을 만듭니다.
MAKEWPARAM 메시지에서 wParam 매개 변수로 사용할 값을 만듭니다. 매크로는 지정된 값을 연결합니다.

 

창 메시지

이름 설명
MN_GETHMENU 현재 창의 HMENU 를 가져옵니다.
WM_GETFONT 컨트롤이 현재 텍스트를 그리는 글꼴을 검색합니다.
WM_GETTEXT 창에 해당하는 텍스트를 호출자가 제공하는 버퍼에 복사합니다.
WM_GETTEXTLENGTH 창과 연결된 텍스트의 길이를 문자 단위로 결정합니다.
WM_SETFONT 텍스트를 그릴 때 컨트롤에서 사용할 글꼴을 지정합니다.
WM_SETICON 새 크거나 작은 아이콘을 창에 연결합니다. 시스템에서 Alt+TAB 대화 상자에 큰 아이콘을 표시하고 창의 작은 아이콘이 캡션.
WM_SETTEXT 창의 텍스트를 설정합니다.

 

창 알림

이름 설명
WM_ACTIVATEAPP 활성 창과 다른 애플리케이션에 속하는 창이 활성화될 때 전송됩니다. 이 메시지는 창이 활성화되는 애플리케이션과 창이 비활성화되는 애플리케이션으로 전송됩니다.
창은 WindowProc 함수를 통해 이 메시지를 받습니다.
WM_CANCELMODE 마우스 캡처와 같은 특정 모드를 취소하기 위해 전송됩니다. 예를 들어 대화 상자나 메시지 상자가 표시되면 시스템에서 이 메시지를 활성 창으로 보냅니다. 또한 특정 함수는 활성 창인지 여부에 관계없이 지정된 창에 이 메시지를 명시적으로 보냅니다. 예를 들어 EnableWindow 함수는 지정된 창을 사용하지 않도록 설정할 때 이 메시지를 보냅니다.
WM_CHILDACTIVATE 사용자가 창의 제목 표시줄을 클릭하거나 창이 활성화, 이동 또는 크기가 조정될 때 자식 창으로 전송됩니다.
WM_CLOSE 창 또는 애플리케이션을 종료해야 한다는 신호로 전송됩니다.
WM_COMPACTING 시스템에서 30~60초 간격 동안 시스템 시간의 12.5% 이상을 감지하면 모든 최상위 창으로 전송되며 메모리 압축에 소비됩니다. 이는 시스템 메모리가 낮다는 것을 나타냅니다.
WM_CREATE 애플리케이션이 CreateWindowEx 또는 CreateWindow 함수를 호출하여 창을 만들 것을 요청할 때 전송됩니다. 함수가 반환되기 전에 메시지가 전송됩니다. 새 창의 창 프로시저는 창이 만들어진 후 창이 표시되기 전에 이 메시지를 받습니다.
WM_DESTROY 창이 제거될 때 전송됩니다. 창이 화면에서 제거된 후 제거되는 창의 창 프로시저로 전송됩니다.
이 메시지는 먼저 제거되는 창으로 전송된 다음 자식 창(있는 경우)으로 전송됩니다. 메시지를 처리하는 동안 모든 자식 창이 여전히 존재한다고 가정할 수 있습니다.
WM_ENABLE 애플리케이션이 창의 사용 상태를 변경할 때 전송됩니다. 사용 상태가 변경되는 창으로 전송됩니다. 이 메시지는 EnableWindow 함수가 반환되기 전에 전송되지만 창의 활성화된 상태(WS_DISABLED 스타일 비트)가 변경된 후에 전송됩니다.
WM_ENTERSIZEMOVE 이동 또는 크기 조정 모달 루프를 입력한 후 창에 한 번 전송됩니다. 사용자가 창의 제목 표시줄 또는 크기 조정 테두리를 클릭하거나 창이 WM_SYSCOMMAND 메시지를 DefWindowProc 함수에 전달하고 메시지의 wParam 매개 변수가 SC_MOVE 또는 SC_SIZE 값을 지정하면 창이 이동 또는 크기 조정 모달 루프로 들어갑니다. DefWindowProc이 반환되면 작업이 완료됩니다.
시스템에서 전체 창 끌기를 사용할 수 있는지 여부에 관계없이 WM_ENTERSIZEMOVE 메시지를 보냅니다.
WM_ERASEBKGND 창 배경을 지워야 할 때 전송됩니다(예: 창 크기가 조정된 경우). 메시지를 보내 창의 무효화된 부분을 그리기 위해 준비합니다.
WM_EXITSIZEMOVE 이동 또는 크기 조정 모달 루프를 종료한 후 창에 한 번 전송됩니다. 사용자가 창의 제목 표시줄 또는 크기 조정 테두리를 클릭하거나 창이 WM_SYSCOMMAND 메시지를 DefWindowProc 함수에 전달하고 메시지의 wParam 매개 변수가 SC_MOV E 또는 SC_SIZE 값을 지정하면 창이 이동 또는 크기 조정 모달 루프로 들어갑니다. DefWindowProc이 반환되면 작업이 완료됩니다.
WM_GETICON 창과 연결된 크거나 작은 아이콘에 대한 핸들을 검색하기 위해 창으로 전송됩니다. 시스템에서 Alt+TAB 대화 상자에 큰 아이콘을 표시하고 창의 작은 아이콘이 캡션.
WM_GETMINMAXINFO 창의 크기 또는 위치가 변경되려고 할 때 창으로 전송됩니다. 애플리케이션은 이 메시지를 사용하여 창의 기본 최대 크기 및 위치 또는 기본 최소 또는 최대 추적 크기를 재정의할 수 있습니다.
WM_INPUTLANGCHANGE 애플리케이션의 입력 언어가 변경된 후 영향을 받는 맨 위 창으로 전송됩니다. 애플리케이션별 설정을 만들고 모든 첫 번째 수준 자식 창에 메시지를 전달하는 DefWindowProc 함수에 메시지를 전달해야 합니다. 이러한 자식 창은 메시지를 DefWindowProc 에 전달하여 메시지를 자식 창에 전달하는 등의 작업을 수행할 수 있습니다.
WM_INPUTLANGCHANGEREQUEST 사용자가 키보드 제어판 애플리케이션에 지정된 바로 가기 키 또는 시스템 작업 표시줄의 표시기를 사용하여 새 입력 언어를 선택할 때 포커스가 있는 창에 게시됩니다. 애플리케이션은 메시지를 DefWindowProc 함수에 전달하여 변경 내용을 수락하거나 즉시 반환하여 변경 내용을 거부(및 수행되지 않도록 방지)할 수 있습니다.
WM_MOVE 창을 이동한 후 전송됩니다.
WM_MOVING 사용자가 이동하는 창으로 전송됩니다. 이 메시지를 처리하여 애플리케이션은 끌기 사각형의 위치를 모니터링하고 필요한 경우 위치를 변경할 수 있습니다.
WM_NCACTIVATE 활성 또는 비활성 상태를 나타내기 위해 비클라이언트 영역을 변경해야 하는 경우 창으로 전송됩니다.
WM_NCCALCSIZE 창의 클라이언트 영역의 크기와 위치를 계산해야 하는 경우 전송됩니다. 애플리케이션은 이 메시지를 처리하여 창의 크기 또는 위치가 변경되면 창의 클라이언트 영역 콘텐츠를 제어할 수 있습니다.
WM_NCCREATE 창을 처음 만들 때 WM_CREATE 메시지 이전에 전송됩니다.
WM_NCDESTROY 비클라이언트 영역이 제거되고 있음을 창에 알립니다. DestroyWindow 함수는 WM_DESTROY 메시지 다음에 WM_NCDESTROY 메시지를 창으로보냅니다. WM_DESTROY 창과 연결된 할당된 메모리 개체를 해제하는 데 사용됩니다.
자식 창이 제거된 후 WM_NCDESTROY 메시지가 전송됩니다. 반면, 자식 창이 제거되기 전에 WM_DESTROY 전송됩니다.
WM_NULL 작업을 수행하지 않습니다. 애플리케이션은 받는 사람 창에서 무시할 메시지를 게시하려는 경우 WM_NULL 메시지를 보냅니다.
WM_PARENTNOTIFY 자식 창이 만들어지거나 제거되거나 커서가 자식 창 위에 있는 동안 마우스 단추를 클릭할 때 자식 창의 부모 창으로 전송됩니다. 자식 창을 만들 때 시스템은 창을 만드는 CreateWindow 또는 CreateWindowEx 함수가 반환되기 직전에 WM_PARENTNOTIFY 보냅니다. 자식 창이 제거될 때 시스템은 창을 삭제하기 위한 처리를 진행하기 전에 메시지를 보냅니다.
WM_QUERYDRAGICON 최소화된(아이콘) 창으로 전송됩니다. 사용자가 창을 끌려고 하지만 해당 클래스에 대해 정의된 아이콘이 없습니다. 애플리케이션은 아이콘 또는 커서에 핸들을 반환할 수 있습니다. 사용자가 아이콘을 끄는 동안 시스템에서 이 커서 또는 아이콘을 표시합니다.
WM_QUERYOPEN 사용자가 창을 이전 크기 및 위치로 복원하도록 요청할 때 아이콘으로 전송됩니다.
WM_QUIT 애플리케이션을 종료하라는 요청을 나타내며 애플리케이션이 PostQuitMessage 함수를 호출할 때 생성됩니다. 그러면 GetMessage 함수가 0을 반환합니다.
WM_SHOWWINDOW 창이 숨겨지거나 표시될 때 창으로 전송됩니다.
WM_SIZE 크기가 변경된 후 창으로 전송됩니다.
WM_SIZING 사용자가 크기를 조정하는 창으로 전송됩니다. 애플리케이션은 이 메시지를 처리하여 끌기 사각형의 크기와 위치를 모니터링하고 필요한 경우 크기 또는 위치를 변경할 수 있습니다.
WM_STYLECHANGED SetWindowLong 함수가 하나 이상의 창 스타일을 변경한 후 창에 ssent합니다.
WM_STYLECHANGING SetWindowLong 함수가 하나 이상의 창 스타일을 변경하려고 할 때 창으로 전송됩니다.
WM_THEMECHANGED 테마 변경 이벤트가 발생한 후 모든 창으로 브로드캐스트합니다. 테마 변경 이벤트의 예로는 테마 활성화, 테마 비활성화 또는 한 테마에서 다른 테마로의 전환이 있습니다.
WM_USERCHANGED 사용자가 로그온하거나 끄면 모든 창으로 전송됩니다. 사용자가 로그온하거나 끄면 시스템에서 사용자별 설정을 업데이트합니다. 시스템은 설정을 업데이트한 직후 이 메시지를 보냅니다.
WM_WINDOWPOSCHANGED SetWindowPos 함수 또는 다른 창 관리 함수에 대한 호출로 인해 Z 순서의 크기, 위치 또는 위치가 변경된 창으로 전송됩니다.
WM_WINDOWPOSCHANGING SetWindowPos 함수 또는 다른 창 관리 함수에 대한 호출로 인해 Z 순서의 크기, 위치 또는 위치가 변경될 창으로 전송됩니다.

 

창 구조체

이름 설명
ALTTABINFO 애플리케이션 전환(ALT+TAB) 창에 대한 상태 정보를 포함합니다.
CHANGEFILTERSTRUCT ChangeWindowMessageFilterEx 함수를 호출하여 얻은 확장된 결과 정보를 포함합니다.
CLIENTCREATESTRUCT MDI 클라이언트 창의 메뉴 및 첫 번째 MDI(다중 문서 인터페이스) 자식 창에 대한 정보를 포함합니다. 애플리케이션은 MDI 클라이언트 창을 만들 때 CreateWindow 함수의 lpParam 매개 변수로 이 구조체에 대한 포인터를 전달합니다.
CREATESTRUCT 애플리케이션의 창 프로시저에 전달되는 초기화 매개 변수를 정의합니다. 이러한 멤버는 CreateWindowEx 함수의 매개 변수와 동일합니다.
GUITHREADINFO GUI 스레드에 대한 정보를 포함합니다.
MINMAXINFO 창의 최대 크기 및 위치와 최소 및 최대 추적 크기에 대한 정보를 포함합니다.
NCCALCSIZE_PARAMS WM_NCCALCSIZE 메시지를 처리하는 동안 애플리케이션에서 창의 클라이언트 영역의 크기, 위치 및 유효한 내용을 계산하는 데 사용할 수 있는 정보가 포함되어 있습니다.
STYLESTRUCT 창에 대한 스타일을 포함합니다.
TITLEBARINFO 제목 표시줄 정보를 포함합니다.
TITLEBARINFOEX 제목 표시줄의 각 요소의 좌표를 포함하여 TITLEBARINFO 구조에 설명된 정보를 확장합니다.
UPDATELAYEREDWINDOWINFO UpdateLayeredWindowIndirect에서 계층화된 창에 대한 위치, 크기, 모양, 콘텐츠 및 반투명 정보를 제공하는 데 사용됩니다.
WINDOWINFO 창 정보를 포함합니다.
WINDOWPLACEMENT 화면에 창의 배치에 대한 정보를 포함합니다.
WINDOWPOS 창의 크기와 위치에 대한 정보를 포함합니다.

 

창 상수

이름 설명
확장 창 스타일 확장 창 스타일이 필요한 위치에 지정할 수 있는 스타일입니다.
창 스타일 창 스타일이 필요한 위치에 지정할 수 있는 스타일입니다. 컨트롤을 만든 후에는 이러한 스타일을 수정할 수 없습니다.