WM_SIZE 메시지

크기가 변경된 후 창으로 전송됩니다.

창은 WindowProc 함수를 통해 이 메시지를 받습니다.

#define WM_SIZE                         0x0005

매개 변수

wParam

요청된 크기 조정의 유형입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
SIZE_MAXHIDE
4
다른 창이 최대화되면 모든 팝업 창으로 메시지가 전송됩니다.
SIZE_MAXIMIZED
2
창이 최대화되었습니다.
SIZE_MAXSHOW
3
다른 창이 이전 크기로 복원되면 메시지가 모든 팝업 창으로 전송됩니다.
SIZE_MINIMIZED
1
창이 최소화되었습니다.
SIZE_RESTORED
0
창의 크기가 조정되었지만 SIZE_MINIMIZED 값이나 SIZE_MAXIMIZED 값은 적용되지 않습니다.

 

lParam

lParam의 하위 단어는 클라이언트 영역의 새 너비를 지정합니다.

lParam의 상위 단어는 클라이언트 영역의 새 높이를 지정합니다.

반환 값

형식: LRESULT

애플리케이션이 이 메시지를 처리하는 경우 0을 반환해야 합니다.

예제

/******************************************************************
*                                                                 *
*  SimpleText::OnResize                                           *
*                                                                 *
*  If the application receives a WM_SIZE message, this method     *
*  resize the render target appropriately.                        *
*                                                                 *
******************************************************************/

void SimpleText::OnResize(UINT width, UINT height)
{
    if (pRT_)
    {
        D2D1_SIZE_U size;
        size.width = width;
        size.height = height;
        pRT_->Resize(size);
    }
}

LRESULT CALLBACK SimpleText::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   
    SimpleText *pSimpleText = reinterpret_cast<SimpleText *>(
                ::GetWindowLongPtr(hwnd, GWLP_USERDATA));

    if (pSimpleText)
    {
        switch(message)
        {
        case WM_SIZE:
            {
                UINT width = LOWORD(lParam);
                UINT height = HIWORD(lParam);
                pSimpleText->OnResize(width, height);
            }
            return 0;

// ...

GitHub Windows 클래식 샘플의 예입니다.

설명

WM_SIZE 메시지의 결과로 자식 창에 대해 SetScrollPos 또는 MoveWindow 함수가 호출되면 bRedraw 또는 bRepaint 매개 변수가 0이 아니어야 창이 다시 그려집니다.

창의 너비와 높이는 32비트 값이지만 lParam 매개 변수에는 각각 하위 16비트만 포함됩니다.

DefWindowProc 함수는 WM_WINDOWPOSCHANGED 메시지를 처리할 때 WM_SIZEWM_MOVE 메시지를 보냅니다. 애플리케이션DefWindowProc를 호출하지 않고 WM_WINDOWPOSCHANGED 메시지를 처리하는 경우 WM_SIZE 및 WM_MOVE 메시지가 전송되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Winuser.h(Windows.h 포함)

추가 정보

참조

HIWORD

LOWORD

MoveWindow

WM_WINDOWPOSCHANGED

개념

Windows

기타 리소스

SetScrollPos