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