4-4-´Ù. WM_SIZE

¾Õ¿¡¼­ ¸¸µç ¿¹Á¦´Â °ú¿¬ ÀÛ¾÷ ¿µ¿ª Áß¾Ó¿¡ ¹®ÀÚ¿­À» Ãâ·ÂÇϱâ´Â ÇÏ¿´´Ù. À©µµ¿ì°¡ ¸¸µé¾îÁú ¶§ ÀÛ¾÷ ¿µ¿ª ÁÂÇ¥¸¦ ±¸ÇØ ³õ°í ±×¸± ¶§ ÀÌ ÁÂÇ¥¸¦ ±âÁØÀ¸·Î Áß¾Ó ÁÂÇ¥¸¦ °è»êÇϱ⠶§¹®ÀÌ´Ù. ±×·±µ¥ ÀÏ´Ü Ãâ·ÂµÈ À©µµ¿ìÀÇ Å©±â¸¦ º¯°æÇϸé ÀÛ¾÷ ¿µ¿ªÀÇ Å©±â°¡ ´Þ¶óÁ® ´õ ÀÌ»ó ¹®ÀÚ¿­Àº ÀÛ¾÷ ¿µ¿ªÀÇ Áß¾Ó¿¡ ÀÖÁö ¾Ê°Ô µÈ´Ù.

¹®ÀÚ¿­À» °è¼Ó ÀÛ¾÷ ¿µ¿ª Áß¾Ó¿¡ µÎ°í ½ÍÀ¸¸é À©µµ¿ìÀÇ Å©±â°¡ º¯°æµÉ ¶§¸¶´Ù ´Ù½Ã Ãâ·ÂÇØ ÁÖ¾î¾ß Çϴµ¥ À̶§ »ç¿ëµÇ´Â ¸Þ½ÃÁö°¡ WM_SIZE ¸Þ½ÃÁöÀÌ´Ù. ÀÌ ¸Þ½ÃÁö´Â À©µµ¿ìÀÇ Å©±â°¡ º¯°æµÇ¾úÀ» ¶§ º¸³»Áø´Ù. À̶§ lParamÀÇ ÇÏÀ§ ¿öµå¿¡´Â º¯°æµÈ ÈÄÀÇ À©µµ¿ì ÆøÀÌ, »óÀ§ ¿öµå¿¡¼­´Â ³ôÀÌ°¡ Àü´ÞµÇ¸ç wParam¿¡´Â ÀÌ ¸Þ½ÃÁö°¡ ¹ß»ýÇÑ ÀÌÀ¯¸¦ ³ªÅ¸³»´Â Ç÷¹±×°¡ Àü´ÞµÈ´Ù.

Ç÷¹±× °ª
SIZE_MAXHIDE ´Ù¸¥ À©µµ¿ì°¡ ÃÖ´ëÈ­µÇ¾î ÀÌ À©µµ¿ì°¡ °¡·ÁÁ³´Ù.
SIZE_MAXIMIZED ÃÖ´ëÈ­µÇ¾ú´Ù.
SIZE_MAXSHOW ´Ù¸¥ À©µµ¿ì°¡ ¿ø·¡ Å©±â·Î º¹±¸µÇ¾î ÀÌ À©µµ¿ì°¡ µå·¯³µ´Ù.
SIZE_MINIMIZED ÃÖ¼ÒÈ­µÇ¾ú´Ù.
SIZE_RESTORED Å©±â°¡ º¯°æµÇ¾ú´Ù.

ÀϹÝÀûÀ¸·Î ÀÌ Ç÷¹±×´Â Àß »ç¿ëµÇÁö ¾Ê´Â´Ù. WM_SIZE ¸Þ½ÃÁö¸¦ »ç¿ëÇÏ¿© À©µµ¿ì Å©±â°¡ º¯°æµÉ ¶§¸¶´Ù ¹®ÀÚ¿­ À§Ä¡¸¦ ¼öÁ¤Çϵµ·Ï WndProcÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇØ º¸ÀÚ.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	static RECT rt;
	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		SetTextAlign(hdc,TA_CENTER);
		TextOut(hdc,rt.right/2, rt.bottom/2, "Center String",13);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_SIZE:
		GetClientRect(hWnd, &rt);
		InvalidateRect(hWnd, NULL, TRUE);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

WM_CREATE ´ë½Å WM_SIZE¿¡¼­ À©µµ¿ì Å©±â°¡ º¯°æµÉ ¶§¸¶´Ù ÀÛ¾÷ ¿µ¿ªÀÇ Å©±â¸¦ ´Ù½Ã °è»êÇÏ°í È­¸éÀ» ´Ù½Ã ±×¸®¹Ç·Î ¹®ÀÚ¿­Àº À©µµ¿ìÀÇ Å©±â¿¡ »ó°ü¾øÀÌ Ç×»ó °°Àº À§Ä¡¿¡ ÀÖ°Ô µÈ´Ù. WM_SIZE¿¡¼­ GetClientRect ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ÀÛ¾÷ ¿µ¿ªÀÇ Å©±â¸¦ ´Ù½Ã Á¶»çÇϴµ¥ lParamÀ¸·Îµµ ÀÛ¾÷ ¿µ¿ª Å©±â°¡ Àü´ÞµÇ¹Ç·Î ´ÙÀ½°ú °°ÀÌ ¾µ ¼öµµ ÀÖ´Ù.

case WM_SIZE:
	rt.right=LOWORD(lParam);
	rt.bottom=HIWORD(lParam);
	InvalidateRect(hWnd, NULL, TRUE);
	return 0;

WM_SIZE ¸Þ½ÃÁö´Â À©µµ¿ì Å©±â¿¡ »ó°ü¾øÀÌ ÀÏÁ¤ÇÑ ·¹À̾ƿôÀ» À¯ÁöÇϱâ À§ÇØ ºó¹øÇÏ°Ô »ç¿ëµÈ´Ù.


¸ñ·Ï º¸±â  ´ÙÀ½ °­Á            written by http://www.winapi.co.kr