SetWindowPos

SetWindowPos ÇÔ¼ö´Â Å©±â, À§Ä¡ ¹× ÀÚ³à, ÆË¾÷, ¶Ç´Â ÃÖ»óÀ§ âÀÇ Z ¼ø¼­¸¦ º¯°æÇÕ´Ï´Ù. ¾ÆÀÌ, ÆË¾÷, ¹× ÃÖ»óÀ§ âÀ» È­¸é¿¡ ÀÚ½ÅÀÇ ¸ð½À¿¡ µû¶ó Á¤·Ä µË´Ï´Ù. ÃÖ»óÀ§ â °¡Àå ³ôÀº ¼øÀ§¸¦ ¹ÞÀ¸¸ç Z ¼ø¼­¿¡¼­ ù ¹øÂ° â.

 (BOOL SetWindowPos HWND  hWnd, / / â ÇÚµéHWNDhWndInsertAfter, / / ¹èÄ¡ ¼ø¼­ ó¸®int X, / / °¡·Î À§Ä¡int Y, / / ¼öÁ÷ À§Ä¡ int cx, // width int cy, // heightUINTuFlags / / Ç÷¡±× â À§Ä¡);
 

¸Å°³ º¯¼ö

hWnd
â ÇÚµé.
hWndInsertAfter
Z ¼ø¼­¿¡ µû¶ó À§Ä¡°¡ ÁöÁ¤ µÈ â ¾Õ¿¡ â ÇÚµé. ÀÌ ¸Å°³ º¯¼ö´Â â ÇÚµé ¶Ç´Â ´ÙÀ½ °ª Áß Çϳª ¿©¾ß:
°ª ÀǹÌ
HWND_BOTTOM â Z ¼ø¼­ÀÇ ¸Ç ¾Æ·¡¿¡ ¹èÄ¡ÇÕ´Ï´Ù. HWnd ¸Å°³ º¯¼ö´Â ÃÖ»óÀ§ âÀ» ½Äº° ÇÏ´Â °æ¿ì â ¸Ç À§ ÁöÀ§¸¦ ÀҴ´٠°í ´Ù¸¥ ¸ðµç â ¸Ç ¾Æ·¡¿¡ ¹èÄ¡ µË´Ï´Ù.
HWND_NOTOPMOST Àå¼Ò´Â â À§ÀÇ ¸ðµç ºñ-ÃÖ»óÀ§ â (Áï, ¸ðµç ÃÖ»óÀ§ â µÚ¿¡). ÀÌ Ç÷¡±×´Â ¾Æ¹«·± È¿°ú°¡ âÀÌ ¾Æ´Ñ ÃÖ»óÀ§ â ÀÌ¹Ì °æ¿ì.
HWND_TOP Z ¼ø¼­ÀÇ ¸Ç â ¹èÄ¡.
HWND_TOPMOST À§ÀÇ ¸ðµç ¾Æ´Ñ ÃÖ»óÀ§ À©µµ¿ì â¿¡ ³Ö½À´Ï´Ù. ºñȰ¼ºÈ­ µÈ °æ¿ì¿¡ ¸Ç À§ À§Ä¡¸¦ À¯Áö Çϴ â.

ÀÌ ¸Å°³ º¯¼ö¸¦ »ç¿ë ÇÏ´Â ¹æ¹ý¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ ÁÖÀÇ ¼½¼ÇÀ» ÂüÁ¶ ÇϽʽÿÀ.

X
Ŭ¶óÀÌ¾ðÆ® ÁÂÇ¥¿¡¼­ â ¿ÞÂÊÀÇ »õ À§Ä¡¸¦ ÁöÁ¤.
Y
Ŭ¶óÀÌ¾ðÆ® ÁÂÇ¥´Â â À§ÂÊÀÇ »õ À§Ä¡·Î ÁöÁ¤.
cx
âÀÇ »õ ³Êºñ¸¦ Çȼ¿ ´ÜÀ§·Î ÁöÁ¤.
cy
âÀÇ »õ·Î¿î ³ôÀÌ Çȼ¿ ´ÜÀ§·Î ÁöÁ¤.
uFlags
âÀ» Å©±â¸¦ Á¶Á¤ ÇÏ °í À§Ä¡ Ç÷¡±×¸¦ ÁöÁ¤ ÇÕ´Ï´Ù. ÀÌ ¸Å°³ º¯¼ö´Â ´ÙÀ½ °ªÀÇ Á¶ÇÕ µÉ ¼ö ÀÖ½À´Ï´Ù.:
°ª ÀǹÌ
SWP_ASYNCWINDOWPOS È£Ãâ ÇÏ´Â ½º·¹µå´Â À©µµ¿ì¸¦ ¼ÒÀ¯ ÇÏÁö ¾Ê´Â °æ¿ì ½Ã½ºÅÛ Ã¢À» ¼ÒÀ¯ ÇÏ´Â ½º·¹µå ¿äûÀ» °Ô½Ã ÇÕ´Ï´Ù. ±×·¯¸é ´Ù¸¥ ½º·¹µå¿¡¼­ ¿äûÀ» ó¸® ÇÏ´Â µ¿¾È ½ÇÇàÀ» Â÷´Ü È£Ãâ ÇÏ´Â ½º·¹µå.
SWP_DEFERERASE WM_SYNCPAINT ¸Þ½ÃÁöÀÇ »ý¼ºÀ» ¹æÁö.
SWP_DRAWFRAME â ÁÖÀ§ ÇÁ·¹ÀÓ (À©µµ¿ìÀÇ Å¬·¡½º ¼³¸í¿¡ Á¤ÀÇ µÊ)¸¦ ±×¸³´Ï´Ù.
SWP_FRAMECHANGED À©µµ¿ìÀÇ Å©±â°¡ º¯°æ µÇÁö ¾Ê½À´Ï´Ù °æ¿ì¿¡ â¿¡ WM_NCCALCSIZE ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. À©µµ¿ìÀÇ Å©±â¸¦ º¯°æ ÇÏ´Â °æ¿ì¿¡ WM_NCCALCSIZE º¸³½ÀÌ Ç÷¡±×¸¦ ÁöÁ¤ ÇÏ´Â °æ¿ì.
SWP_HIDEWINDOW â ¼û±â±â.
SWP_NOACTIVATE âÀ» Ȱ¼ºÈ­ ÇÏÁö ¾Ê½À´Ï´Ù. â Ȱ¼ºÈ­ ¹× ( hWndInsertAfter ¸Å°³ º¯¼ö ¼³Á¤)¿¡ µû¶ó ¶Ç´Â ºñ ¸Ç ±×·ìÀÇ »ó´ÜÀ¸·Î À̵¿ÀÌ Ç÷¡±×°¡ ¼³Á¤ µÇÁö ¾ÊÀº °æ¿ì.
SWP_NOCOPYBITS Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀÇ Àüü ³»¿ëÀ» »èÁ¦ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀÇ À¯È¿ÇÑ ³»¿ëÀº ÀúÀå ¹× Ã¢ Å©±â ¶Ç´Â À§Ä¡¸¦ º¯°æ ÇÏ´Â ÈÄ Å¬¶óÀÌ¾ðÆ® ¿µ¿ªÀ¸·Î ´Ù½Ã º¹»çÀÌ Ç÷¡±×¸¦ ÁöÁ¤ ÇÏ´Â °æ¿ì.
SWP_NOMOVE ÇöÀç À§Ä¡¸¦ À¯Áö ( X ¹× Y ¸Å°³ º¯¼ö ¹«½Ã).
SWP_NOOWNERZORDER Z ¼ø¼­¿¡¼­ ¼ÒÀ¯ÀÚ Ã¢ÀÇ À§Ä¡¸¦ º¯°æ ÇÏÁö ¾Ê½À´Ï´Ù.
SWP_NOREDRAW º¯°æ ³»¿ëÀ» ´Ù½Ã ±×¸®±â ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Ç÷¡±×¸¦ ¼³Á¤ ÇÏ´Â °æ¿ì ¾î¶² Á¾·ùÀÇ ´Ù½Ã ±×¸®±â ¹ß»ý ÇÕ´Ï´Ù. ÀÌ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª (Á¦¸ñ Ç¥½ÃÁÙ ¹× ½ºÅ©·Ñ ¸·´ë¸¦ Æ÷ÇÔ ÇÏ ¿©) ºñŬ¶óÀÌ¾ðÆ® ¿µ¿ª¿¡ Àû¿ë µË´Ï´Ù ¹× ºÎ¸ð À©µµ¿ìÀÇ ¸ðµç ºÎºÐ À̵¿ âÀÇ °á°ú·Î ¹ß°ß. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¸í½ÃÀûÀ¸·Î ¹«È¿È­ ÇØ¾ß ÇÕ´Ï´Ù ¶Ç´Â â°ú ºÎ¸ð âÀ» ´Ù½Ã ±×¸± ÇÊ¿äÀÇ ¸ðµç ºÎºÐÀ» ´Ù½Ã ±×¸®µµ·ÏÀÌ Ç÷¡±×°¡ ¼³Á¤ µÈ °æ¿ì.
SWP_NOREPOSITION SWP_NOOWNERZORDER Ç÷¡±×¿Í µ¿ÀÏ.
SWP_NOSENDCHANGING âÀ» WM_WINDOWPOSCHANGING ¸Þ½ÃÁö¸¦ ¼ö½Å ÇÏ´Â °ÍÀ» ¹æÁöÇÕ´Ï´Ù.
SWP_NOSIZE ÇöÀç Å©±â ( cx ¹× cy ¸Å°³ º¯¼ö ¹«½Ã) À¯Áö.
SWP_NOZORDER ÇöÀç Z ¼ø¼­¸¦ À¯Áö ( hWndInsertAfter ¸Å°³ º¯¼ö¸¦ ¹«½Ã).
SWP_SHOWWINDOW â Ç¥½Ã.

¹Ýȯ °ª

ÇÔ¼ö°¡ ¼º°ø ÇÏ¸é ¹Ýȯ °ªÀº 0ÀÌ ¾Æ´Ñ.

ÇÔ¼ö°¡ ½ÇÆÐ ÇÏ¸é ¹Ýȯ °ªÀº 0ÀÔ´Ï´Ù. È®Àå µÈ ¿À·ù Á¤º¸¸¦ ¾òÀ» ÇÏ·Á¸é GetLastError.

ÁÖÀÇ

À©µµ¿ì¸¦ À̵¿ Çϰųª Å©±â ¼ö ¾ø½À´Ï´Ù SWP_SHOWWINDOW ¶Ç´Â SWP_HIDEWINDOW Ç÷¡±×¸¦ ¼³Á¤ ÇÏ´Â °æ¿ì.

SetWindowLong»ç¿ë ÇÏ ¿© ƯÁ¤ â µ¥ÀÌÅ͸¦ º¯°æ ÇÏ´Â °æ¿ì Àû¿ë ÇÏ´Â º¯°æ »çÇ×ÀÌ SetWindowPos ¸¦ È£Ãâ ÇØ¾ß ÇÕ´Ï´Ù. UFlags¿¡ ´ë ÇÑ ´ÙÀ½ Á¶ÇÕ ÇÏ ¿© »ç¿ë: SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED.

HWND_TOPMOST ¹× SWP_NOZORDER Ç÷¡±×¸¦ ¼³Á¤ ÇÏÁö ¾ÊÀ¸¸é µÇµµ·Ï hWndInsertAfter ¸Å°³ º¯¼ö¸¦ ¼³Á¤ Çϰųª ±âÁ¸ ÃÖ»óÀ§ âÀ» À§¿¡ ¿Àµµ·Ï Z ¼ø¼­¿¡¼­ âÀÇ À§Ä¡¸¦ ¼³Á¤ ÇÏ ¿© ¸Ç À§¿¡ Àִ â âÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ºñ-ÃÖ»óÀ§ â ¸Ç À§¿¡ ÀÖ´Â ¶§¿¡ ¼ÒÀ¯ windows ÃÖ»óÀ§µµ Àû¿ë µË´Ï´Ù. ±×·¯³ª, ±×°ÍÀÇ ¼ÒÀ¯ÀÚ¸¦ º¯°æ µÇÁö ¾Ê½À´Ï´Ù.

HWndInsertAfter ¿¡ ÁöÁ¤ µÈ °ªÀº ´ÙÀ½°ú °°Àº °æ¿ì¿¡¸¸ »ç¿ë ÇÏ´Â SWP_NOACTIVATEµµ SWP_NOZORDER Ç÷¡±× (¶§, Áï ÀÀ¿ë ÇÁ·Î±×·¥ ¿äû âÀÌ µ¿½Ã¿¡ Ȱ¼ºÈ­ µÉ ÇÏ °í Z ¼ø¼­¿¡¼­ ÇØ´ç À§Ä¡°¡ º¯°æ)¸¦ ÁöÁ¤ ÇÏ´Â °æ¿ì:

ÀÀ¿ë ÇÁ·Î±×·¥Àº ¶ÇÇÑ Z ¼ø¼­ÀÇ ¸Ç ÇÏ ·Á ÇÏÁö ¾Ê°í ºñȰ¼º âÀ» Ȱ¼ºÈ­ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ Á¦ÇÑ ¾øÀÌ Z ¼ø¼­·Î Ȱ¼ºÈ­ µÈ À©µµ¿ìÀÇ À§Ä¡¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù ¶Ç´Â âÀ» Ȱ¼ºÈ­ ÇÏ °í ¸Ç À§ ¶Ç´Â ¸Ç À§ ºñ â ¸Ç À̵¿ ¼ö ÀÖ½À´Ï´Ù.

ÃÖ»óÀ§ âÀ» ¸Ç (HWND_BOTTOM)ÀÇ Z ¼ø¼­ ¶Ç´Â ¾î¶² ¾Æ´Ñ ÃÖ»óÀ§ â µÚ¿¡ À§Ä¡ ÇÏ´Â °æ¿ì ±×°ÍÀº ´õ ÀÌ»ó ¸Ç. ÃÖ»óÀ§ âÀÌ ¾Æ´Ñ ÃÖ»óÀ§ ¶§ ±×°ÍÀÇ ¼ÒÀ¯ÀÚ¿Í ±× ¼ÒÀ¯ windows ¶ÇÇÑ ¸¸µé¾îÁø ¾Æ´Ñ ÃÖ»óÀ§ â.

¾Æ´Ñ ÃÖ»óÀ§ â ¸Ç À§¿¡ Àִ â ¼ÒÀ¯ÇÒ ¼ö ÀÖÁö¸¸ ¹Ý´ë·Î ¹ß»ýÇÒ ¼ö ¾ø½À´Ï´Ù. ÃÖ»óÀ§ â ¼ÒÀ¯ ÇÏ °í ¸ðµç â (¿¹: ´ëÈ­ »óÀÚ)°¡ ¸¸µç ¸ðµç ¼ÒÀ¯ windows ±×µéÀÇ ¼ÒÀ¯ÀÚ ÀÌ»ó À¯Áö µÇµµ·Ï ÃÖ»óÀ§ â ÀÚü°¡.

SetForegroundWindow ÇÔ¼ö¸¦ È£Ãâ ÇØ¾ß ÇÕ´Ï´Ù ÀÀ¿ë ÇÁ·Î±×·¥ Àü°æ, ±×¸®°í ¹°Ã¼¿¡ ÀÖ¾î¾ß ÇÏ´Â °æ¿ì.

Windows CE: º¸ÀÌ´Â ÃÖ»óÀ§ âÀÇ °æ¿ì SWP_NOACTIVATE Ç÷¡±×¸¦ ÁöÁ¤ ÇÏÁö ¾ÊÀ¸¸éÀÌ ÇÔ¼ö´Â âÀ» Ȱ¼ºÈ­ µË´Ï´Ù. À̰ÍÀº ÇöÀç Ȱ¼º â SWP_NOACTIVATE Ç÷¡±× ¶Ç´Â SWP_HIDEWINDOW Ç÷¡±×¸¦ ÁöÁ¤ ÇÏ´Â °æ¿ì Ȱ¼ºÈ­ ´Ù¸¥ Ç¥½Ã ÃÖ»óÀ§ â¿¡ Àü´Þ µË´Ï´Ù.

ÀÌ ÇÔ¼ö¿¡ nFlags ¸Å°³ º¯¼ö¿¡¼­ SWP_FRAMECHANGED Ç÷¡±×¸¦ ¼³Á¤ ÇÏ´Â °æ¿ì Windows CE Ŭ¶óÀÌ¾ðÆ® ¿µ¿ª Å©±â¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù À©µµ¿ìÀÇ Àüü ºñŬ¶óÀÌ¾ðÆ® ¿µ¿ªÀ» ´Ù½Ã ±×¸³´Ï´Ù. ´Ù½Ã °è»ê ºñŬ¶óÀÌ¾ðÆ® ¿µ¿ªÀ» ¾òÀ» ¼ö ÀÖ´Â À¯ÀÏÇÑ ¹æ¹ý ÀÌ¸ç ´ç½ÅÀº SetWindowLong ¸¦ È£Ãâ ÇÏ ¿© â ½ºÅ¸ÀÏÀ» º¯°æÇÑ ÈÄ¿¡ ÀϹÝÀûÀ¸·Î »ç¿ë µË´Ï´Ù.

SetWindowPos Ç×»ó WM_WINDOWPOSCHANGED ¸Þ½ÃÁö¸¦ â¿¡ Àü¼Û ÇÏ¸é µË´Ï´Ù. ÀÌ ¸Þ½ÃÁö¿¡ Àü´Þ µÈ Ç÷¡±×´Â Á¤È® ÇÏ °Ô ÇÔ¼ö¿¡ Àü´Þ µÈ °Í°ú µ¿ÀÏ ÇÕ´Ï´Ù. ´Ù¸¥ ¸Þ½ÃÁö°¡ÀÌ ÇÔ¼ö·Î º¸³»Áý´Ï´Ù.

Windows CE 1.0 hwndInsertAfter ¸Å°³ º¯¼ö¿¡¼­ HWND_TOPMOST ¹× HWND_NOTOPMOST »ó¼ö¸¦ Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù.

Windows CE 1.0 fuFlags paramete¿¡¼­ SWP_DRAWFRAME ¶Ç´Â SWP_NOCOPYBITS Ç÷¡±×¸¦ Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù.

QuickInfo

nbsp;?Windows &NT: ¹öÀü 3.1 ÀÌ»óÀÌ ÇÊ¿ä ÇÕ´Ï´Ù.
Windows:Windows 95 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Windows CE:¹öÀü 1.0 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Çì´õ:Winuser.h¿¡¼­ ¼±¾ðÇÕ´Ï´Ù.
°¡Á®¿À±â ¶óÀ̺귯¸®:User32.lib¸¦ »ç¿ë ÇÏ ¿©.

Âü°í Ç׸ñ

â °³¿ä â ±â´É, MoveWindow, SetActiveWindow, SetForegroundWindow

 

Index