¿øÇü |
BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); | ||||||||||||||||||||||||||||||||||||||||||
Àμö |
¢º hWnd : À̵¿ ´ë»ó À©µµ¿ìÀÇ ÇÚµé ¢º hWndInsertAfter : À©µµ¿ìÀÇ Z¼ø¼¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ Àμö°¡ ÁöÁ¤ÇÏ´Â À©µµ¿ì ¾Õ¿¡ hWnd°¡ ¹èÄ¡µÇ´Âµ¥ ´Ü hWnd°¡ ¾×Ƽºê »óÅÂÀÏ °æ¿ì ÀÌ Àμö°¡ ÁöÁ¤ÇÏ´Â À©µµ¿ì ÇÚµéÀº ¹«½ÃµÈ´Ù. ¶Ç´Â ´ÙÀ½°ú °°ÀÌ Z¼ø¼¸¦ ÁöÁ¤ÇÏ´Â °ªµéÀÌ ¿Ã ¼ö ÀÖ´Ù.
¢ºX,Y : À©µµ¿ìÀÇ »õ·Î¿î Á»ó´Ü ÁÂÇ¥¸¦ ÁöÁ¤ÇÑ´Ù. Çȼ¿ ´ÜÀ§ÀÌ´Ù. ¢ºcx, cy : À©µµ¿ìÀÇ »õ·Î¿î Æø°ú ³ôÀ̸¦ ÁöÁ¤ÇÑ´Ù. Çȼ¿ ´ÜÀ§ÀÌ´Ù. ¢ºuFlags : À§Ä¡¿Í Å©±â º¯°æ¿¡ ´ëÇÑ ¿©·¯ °¡Áö ¿É¼ÇµéÀ̸ç Ç÷¡±×µéÀ» Á¶ÇÕÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
| ||||||||||||||||||||||||||||||||||||||||||
¸®ÅÏ |
¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ¿¡·¯ ¹ß»ý½Ã 0À» ¸®ÅÏÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||
¼³¸í |
ÀÌ ÇÔ¼ö´Â À©µµ¿ìÀÇ À§Ä¡, Å©±â, Z¼ø¼¸¦ µ¿½Ã¿¡ ¶Ç´Â ÀϺθ¸ º¯°æÇÒ ¶§ »ç¿ëµÈ´Ù. ¿¹¸¦ µé¾î Å©±â´Â ±×´ë·Î µÎ°í À§Ä¡¸¸ º¯°æÇÏ°íÀÚ ÇѴٰųª À§Ä¡¿Í Å©±â´Â ±×´ë·Î µÎ°í Z¼ø¼¸¸ º¯°æÇÏ°íÀÚ ÇÒ ¶§ »ç¿ëÇÑ´Ù. MoveWindow ÇÔ¼ö´Â Å©±â¿Í À§Ä¡¸¦ Ç×»ó °°ÀÌ º¯°æÇÏÁö¸¸ ÀÌ ÇÔ¼ö´Â SWP_NOSIZE, SWP_NOMOVE Ç÷¡±×·Î À§Ä¡¿Í Å©±â¸¦ °³º°ÀûÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ÀÌ ÇÔ¼ö´Â Z¼ø¼¸¦ º¯°æÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î, ƯÈ÷ Ç×»ó À§(Top Most) ¼Ó¼ºÀ» Åä±ÛÇϱâ À§ÇÑ ¿ëµµ·Îµµ ¸¹ÀÌ »ç¿ëµÇ´Âµ¥ µÎ¹ø° Àμö¿¡ HWND_(NO)TOPMOST¸¦ ÁÜÀ¸·Î½á ÀÌ ¼Ó¼ºÀ» Åä±ÛÇÒ ¼ö ÀÖ´Ù. ÀÌ ÇÔ¼ö·Î Ç×»ó À§ ¼Ó¼ºÀ» ¼³Á¤Çϸé ÀÌ À©µµ¿ì¿¡ ¼ÒÀ¯µÈ À©µµ¿ìµµ Ç×»ó À§ ¼Ó¼ºÀ» °°ÀÌ °¡Áö°Ô µÈ´Ù. ±×·¯³ª ÀÌ À©µµ¿ì¸¦ ¼ÒÀ¯ÇÑ À©µµ¿ì´Â ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù. ¹Ý´ë·Î ÀÌ ÇÔ¼ö·Î Ç×»ó À§ ¼Ó¼ºÀ» ÇØÁ¦Çϸé ÀÌ À©µµ¿ì¿¡ ¼ÒÀ¯µÈ À©µµ¿ì¿Í ÀÌ À©µµ¿ì¸¦ ¼ÒÀ¯ÇÑ À©µµ¿ìÀÇ Ç×»ó À§ ¼Ó¼ºÀÌ ¸ðµÎ ÇØÁ¦µÈ´Ù. ÀϹÝÀûÀ¸·Î Ç×»ó À§ ¼Ó¼ºÀ» °¡ÁöÁö ¾ÊÀº À©µµ¿ì°¡ Ç×»ó À§ ¼Ó¼ºÀ» °¡Áø À©µµ¿ì¸¦ ¼ÒÀ¯ÇÒ ¼ö´Â ÀÖÁö¸¸ ¹Ý´ë´Â ºÒ°¡´ÉÇÏ´Ù. ¿Ö³ÄÇÏ¸é ¼ÒÀ¯µÈ À©µµ¿ì´Â ¼ÒÀ¯ÇÑ À©µµ¿ìº¸´Ù Z¼ø¼ÀÇ À§ÂÊ¿¡ ÀÖ¾î¾ß ÇϹǷΠ¼ÒÀ¯ÇÑ À©µµ¿ì¸¸ Ç×»ó À§ ¿É¼ÇÀ» °¡Áú ¼ö´Â ¾ø±â ¶§¹®ÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é Ç×»ó À§ ¿É¼ÇÀ» °¡Áö´Â À©µµ¿ìÀÇ Â÷Àϵå·Î ¿·Á ÀÖ´Â ´ëÈ»óÀÚ°¡ ¹ØÀ¸·Î ¼û¾î ¹ö¸®´Â Çö»óÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. SetWindowPos ÇÔ¼ö´Â ÀÌ ¸ðµç 󸮸¦ ´Ù ÇØ ÁֹǷΠÇ×»ó À§ ½ºÅ¸ÀÏÀ» Åä±Û ÇÒ ¶§´Â SetWindowLongÀ¸·Î SWL_EXSTYLEÀ» Á¶ÀÛÇÏÁö ¸»°í ¹Ýµå½Ã ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â SetWindowPos ÇÔ¼ö·Î À©µµ¿ìÀÇ À§Ä¡¸¸ º¯°æÇÏ´Â ¹æ¹ý°ú Ç×»ó À§ ½ºÅ¸ÀÏÀ» Åä±ÛÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; char Mes[]="¿ÞÂÊ=À§Ä¡ º¯°æ, ¿À¸¥ÂÊ=Ç×»ó À§ ¿É¼Ç º¯°æ"; static BOOL bTopMost=FALSE; switch(iMessage) { case WM_LBUTTONDOWN: SetWindowPos(hWnd, HWND_NOTOPMOST, rand()%640, rand()%480, 0, 0, SWP_NOSIZE); return 0; case WM_RBUTTONDOWN: if (bTopMost) { SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); } else { SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); } bTopMost=~bTopMost; return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); TextOut(hdc,10,10,Mes,lstrlen(Mes)); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } ¿ÞÂÊ ¹öÆ°À» ´©¸£¸é ³¼ö·Î Á¤ÇÑ »õ À§Ä¡·Î À©µµ¿ì¸¦ ¿Å±âµÇ SWP_NOSIZE Ç÷¡±×¸¦ ÁÖ¾î Å©±â´Â º¯°æÇÏÁö ¾Êµµ·Ï ÇÏ¿´´Ù. ¿À¸¥ÂÊ ¹öÆ°À» ´©¸£¸é Ç×»ó À§ ¿É¼ÇÀ» Åä±Û½ÃŲ´Ù. | ||||||||||||||||||||||||||||||||||||||||||
Âü°íÇÔ¼ö |
MoveWindow : À©µµ¿ìÀÇ À§Ä¡¿Í Å©±â¸¦ µ¿½Ã¿¡ º¯°æÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||
Ç÷¿Æû | 95ÀÌ»ó | ||||||||||||||||||||||||||||||||||||||||||
º»¹®ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|