¿øÇü |
BOOL MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint); |
Àμö |
¢º hWnd : À̵¿ ´ë»ó À©µµ¿ìÀÇ ÇÚµé ¢º X,Y : À̵¿ÇÒ Á»ó´Ü ÁÂÇ¥¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ÁÂÇ¥´Â Â÷Àϵå À©µµ¿ìÀÏ °æ¿ì ºÎ¸ð À©µµ¿ìÀÇ ÀÛ¾÷¿µ¿ª ¿øÁ¡À» ±âÁØÀ¸·Î ÇÑ ÁÂÇ¥À̸ç ÃÖ»óÀ§ À©µµ¿ìÀÇ °æ¿ì È¸é ¿øÁ¡À» ±âÁØÀ¸·Î ÇÑ ÁÂÇ¥ÀÌ´Ù. ÁÂÇ¥ÀÇ ´ÜÀ§´Â Çȼ¿ÀÌ´Ù. ¢º nWidth, nHeight : À©µµ¿ìÀÇ Æø°ú ³ôÀ̸¦ ÁöÁ¤ÇÑ´Ù. ´ÜÀ§´Â Çȼ¿ÀÌ´Ù. ¢º bRepaint : À̵¿ ÈÄ¿¡ À©µµ¿ì¸¦ ´Ù½Ã ±×¸± °ÍÀΰ¡ ¾Æ´Ñ°¡¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ Àμö°¡ TRUEÀ̸é À©µµ¿ì¸¦ À̵¿ÇÑ ÈÄ WM_PAINT ¸Þ½ÃÁö¸¦ º¸³» À©µµ¿ì¸¦ ´Ù½Ã ±×¸®µµ·Ï ÇÑ´Ù. À̶§ ´Ù½Ã ±×·ÁÁö´Â ¿µ¿ªÀº ÀÛ¾÷¿µ¿ª, ºñÀÛ¾÷¿µ¿ªÀº ¹°·ÐÀÌ°í À©µµ¿ì À̵¿ ÈÄ¿¡ ´Ù½Ã µå·¯³ª´Â ºÎºÐ±îÁö Æ÷ÇԵȴÙ. |
¸®ÅÏ |
¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ¿¡·¯ ¹ß»ý½Ã 0À» ¸®ÅÏÇÑ´Ù. |
¼³¸í |
À©µµ¿ìÀÇ À§Ä¡¿Í Å©±â¸¦ º¯°æÇÏ´Â °¡Àå ÀϹÝÀûÀÎ ÇÔ¼öÀÌ´Ù. X,Y Àμö·Î À©µµ¿ìÀÇ À§Ä¡¸¦ ÁöÁ¤Çϸç nWidth, nHeight Àμö·Î À©µµ¿ìÀÇ Æø°ú ³ôÀ̸¦ ÁöÁ¤ÇϹǷΠÀÌ ÇÔ¼ö·Î À§Ä¡¿Í Å©±â¸¦ ÇѲ¨¹ø¿¡ º¯°æÇÒ ¼ö ÀÖ´Ù. ´Ü À§Ä¡¸¸ º¯°æÇϰųª Å©±â¸¸ º¯°æÇÏ°íÀÚ ÇÒ °æ¿ì´Â GetWindowRect µîÀÇ ÇÔ¼ö·Î ¿µ¿ªÀ» ¸ÕÀú ±¸ÇÑ ÈÄ ¿øÇÏ´Â °ª¸¸ º¯°æÇϰųª ¾Æ´Ï¸é SetWindowPos ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ ÇÔ¼ö´Â ÀϹÝÀûÀ¸·Î ºÎ¸ð À©µµ¿ì³»¿¡¼ Â÷Àϵå ÄÁÆ®·ÑÀ» Á¤·ÄÇϱâ À§ÇÑ ¿ëµµ·Î ¸¹ÀÌ »ç¿ëÇϸç ÃÖ»óÀ§ À©µµ¿ìÀÇ Å©±â³ª À§Ä¡¸¦ º¯°æÇÒ ¶§´Â ÀÌ ÇÔ¼ö ´ë½Å SetWindowPos ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ´ÙÀ½ ¿¹Á¦´Â ºÎ¸ð À©µµ¿ìÀÇ ÀÛ¾÷¿ª¿¡ ¹öÆ°, ¿¡µðÆ®, ¸®½ºÆ® ¹Ú½º¸¦ °¢°¢ ¹èÄ¡ÇÏ°í ÀÌ ÄÁÆ®·ÑµéÀ» ÀÛ¾÷¿µ¿ªÀÇ Æ¯Á¤ÇÑ À§Ä¡¿¡ Á¤·ÄÇÏ´Â ¿¹¸¦ º¸¿©ÁØ´Ù. HWND hEdit,hList,hBtn; LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { switch(iMessage) { case WM_CREATE: hList=CreateWindow("listbox",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_NOINTEGRALHEIGHT,0,0,0,0,hWnd,(HMENU)0,g_hInst,NULL); hEdit=CreateWindow("edit",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,0,0,0,0,hWnd,(HMENU)1,g_hInst,NULL); hBtn=CreateWindow("button","¹öÆ°ÀÌ´Ù",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 0,0,0,0,hWnd,(HMENU)2,g_hInst,NULL); SendMessage(hList,LB_ADDSTRING,0,(LPARAM)"¸®½ºÆ®¹Ú½º"); SetWindowText(hEdit,"¿ä°Ç ¿¡µðÆ® ¹Ú½ºÀÔ´Ï´Ù"); MoveWindow(hWnd,100,100,400,300,FALSE); return 0; case WM_SIZE: MoveWindow(hList,0,0,200,HIWORD(lParam)-50,TRUE); MoveWindow(hEdit,200,0,LOWORD(lParam)-200,HIWORD(lParam)-50,TRUE); MoveWindow(hBtn,0,HIWORD(lParam)-50,LOWORD(lParam),50,TRUE); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } MoveWindow ÇÔ¼ö°¡ 4¹ø »ç¿ëµÇ¾ú´Ù. WM_CREATE¿¡¼ »ç¿ëÇÑ MoveWindow ÇÔ¼ö´Â ¸ÞÀÎ À©µµ¿ìÀÇ À§Ä¡¿Í Å©±â¸¦ °Á¦·Î Á¶ÀåÇÏ´Â ¿ëµµ·Î »ç¿ëµÇ¾úÀ¸¸ç ÀÌ °æ¿ì À©µµ¿ì°¡ ¾ÆÁ÷ º¸À̱â ÀüÀ̹ǷΠbRepaint Àμö´Â FALSE·Î ÁöÁ¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù. WM_SIZE¿¡¼ °¢ Â÷Àϵå ÄÁÆ®·Ñ¿¡ ´ëÇØ MoveWindow¸¦ È£ÃâÇÏ¿© Â÷Àϵå ÄÁÆ®·ÑÀ» Àç¹èÄ¡Çϵµ·Ï Çß´Ù. Àç¹èÄ¡ÀÇ ±âÁØÀº ÇöÀç ºÎ¸ð À©µµ¿ìÀÇ ÀÛ¾÷¿µ¿ª Æø°ú ³ôÀÌÀε¥ ÀÌ °ªÀº WM_SIZEÀÇ lParamÀÇ ÇÏÀ§, »óÀ§ ¿öµå·Î °¢°¢ Àü´ÞµÈ´Ù. ¸®½ºÆ® ¹Ú½º´Â ÀÛ¾÷ ¿µ¿ªÀÇ ¿øÁ¡¿¡¼ºÎÅÍ ÆøÀº 200Çȼ¿À» °¡Áö¸ç ³ôÀÌ´Â ÀÛ¾÷¿µ¿ª ³ôÀÌ¿¡¼ ¹öÆ°ÀÇ Æø 50Çȼ¿À» »«¸¸ÅÀ» ÁÖ¾ú´Ù. ¿¡µðÆ® ÄÁÆ®·ÑÀº ¸®½ºÆ® ¹Ú½ºÀÇ ¹Ù·Î ¿À¸¥ÂÊ¿¡ ¹èÄ¡µÇ¸ç ÆøÀº ¸®½ºÆ® ¹Ú½ºÀÇ ÆøÀÎ 200À» »«¸¸Å, ±×¸®°í ³ôÀÌ´Â ¹öÆ°ÀÇ ³ôÀÌ 50À» »«¸¸ÅÀÌ´Ù. ¹öÆ°Àº µÎ ÄÁÆ®·ÑÀÌ Â÷ÁöÇÑ ³ª¸ÓÁö ¿µ¿ªÀ» ä¿î´Ù. À̶§ °¢ ÄÁÆ®·ÑÀº º¯°æµÈ À§Ä¡¿¡ ´Ù½Ã ±×·ÁÁ®¾ß ÇϹǷΠbRepaint Àμö´Â TRUE·Î ÁÖ¾î¾ß ÇÑ´Ù. Âü°í·Î ÀÌ·± ½ÄÀ¸·Î Â÷Àϵ尡 ÀÛ¾÷¿µ¿ªÀ» ä¿ì´Â °æ¿ì ¸ÞÀÎ À©µµ¿ì´Â ¹Ýµå½Ã WS_CLIPCHILDREN ½ºÅ¸ÀÏÀ» °¡Á®¾ß ±ô¹ÚÀÓÀ» ÁÙÀÏ ¼ö ÀÖ´Ù. |
Âü°íÇÔ¼ö |
SetWindowPos : ÀÌ ÇÔ¼ö¿Í À¯»çÇ쵂 ¿©·¯ °¡Áö ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ´Ù. GetWindowRect : À©µµ¿ìÀÇ ÇöÀç ¿µ¿ªÀ» Á¶»çÇÑ´Ù. |
Ç÷¿Æû | 95ÀÌ»ó |
º»¹®ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|