Å©±â¿Í À§Ä¡ ¸Þ½ÃÁö

½Ã½ºÅÛ Àü¼Û WM_GETMINMAXINFO ¸Þ½ÃÁö â Å©±â ¶Ç´Â À§Ä¡¸¦ º¯°æ ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ¸Þ½ÃÁö¸¦ º¸³¾ ¶§ »ç¿ëÀÚ Ã¢ ¸Þ´º¿¡¼­ À̵¿ ¶Ç´Â Å©±â ¸¦ Ŭ¸¯ Çϰųª Ŭ¸¯ ÇÏ´Â Å©±â Á¶Á¤ Å׵θ® ¶Ç´Â Á¦¸ñ Ç¥½ÃÁÙ; ¸Þ½ÃÁö SetWindowPos À̵¿ Çϰųª â Å©±â¸¦ È£Ãâ ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡ Àü¼Û µË´Ï´Ù. WM_GETMINMAXINFO´Â ÃÖ´ëÈ­ ±âº» Å©±â¿Í âÀÇ ±âº» ÃÖ¼Ò ¹× ÃÖ´ë Å©±â¸¦ ÃßÀûÀ» À§ÇÑ À§Ä¡¸¦ Æ÷ÇÔ ÇÏ´Â MINMAXINFO ±¸Á¶Ã¼¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ Æ÷ÇÔ ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ WM_GETMINMAXINFO¸¦ ó¸® ÇÏ °í MINMAXINFOÀÇ ÀûÀý ÇÑ ±¸¼º¿øÀ» ¼³Á¤ ÇÏ ¿© ±âº»°ªÀ» ¹«½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. âÀ» ¹ÞÀ» WM_GETMINMAXINFO WS_THICKFRAME ¶Ç´Â WS_CAPTION ½ºÅ¸ÀÏÀ»°¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. â »ý¼º ÇÁ·Î¼¼½º µ¿¾ÈÀ¸·Î µÇ´Â ¶§ÀÌ ¸Þ½ÃÁö¸¦ ¼ö½Å ÇÏ´Â WS_THICKFRAME ½ºÅ¸ÀÏÀ¸·Î â À̵¿ ¶Ç´Â Å©±â.

½Ã½ºÅÛ Ã¢ÀÇ Å©±â, À§Ä¡, Z ¼ø¼­¿¡¼­ À§Ä¡¸¦ WM_WINDOWPOSCHANGING ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù ¶Ç´Â Ç¥½Ã »óŸ¦ º¯°æ ÇÕ´Ï´Ù. ÀÌ ¸Þ½ÃÁö´Â À©µµ¿ìÀÇ »õ·Î¿î Å©±â, À§Ä¡, Z ¼ø¼­ ¹× »óÅ ǥ½Ã À§Ä¡¸¦ ÁöÁ¤ ÇÏ´Â WINDOWPOS ±¸Á¶Ã¼¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ Æ÷ÇÔ ÇÕ´Ï´Ù. WINDOWPOS¸â¹ö¸¦ ¼³Á¤ ÇÏ ¿© ÀÀ¿ë ÇÁ·Î±×·¥ À©µµ¿ìÀÇ »õ·Î¿î Å©±â, À§Ä¡ ¹× ¸ð¾çÀ» ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù.

À©µµ¿ìÀÇ Å©±â, À§Ä¡, Z ¼ø¼­ ¶Ç´Â »óÅ ǥ½ÃÀÇ À§Ä¡¸¦ º¯°æÇÑ ÈÄ ½Ã½ºÅÛ Ã¢¿¡ WM_WINDOWPOSCHANGED ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. ÀÌ ¸Þ½ÃÁö´Â »õ Å©±â, À§Ä¡, À§Ä¡ Z ¼ø¼­ ¹× »óÅ ǥ½Ã â¿¡ °Ô ¾Ë·Á ÁÖ´Â WINDOWPOS ¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ Æ÷ÇÔ ÇÕ´Ï´Ù. WM_WINDOWPOSCHANGED¿Í ÇÔ²² Àü´Þ µÇ´Â WINDOWPOS ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ ¼³Á¤ â¿¡´Â È¿°ú°¡ ¾ø½À´Ï´Ù. WM_SIZE ¹× WM_MOVE ¸Þ½ÃÁö¸¦ ó¸® ÇØ¾ß ÇÕ´Ï´Ù. â DefWindowProc ÇÔ¼ö; WM_WINDOWPOSCHANGED¸¦ Åë°ú ÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ½Ã½ºÅÛ º¸³»Áö ¾Ê½À´Ï´Ù WM_MOVE¿Í WM_SIZE ¸Þ½ÃÁö¸¦ â.

âÀ» ¸¸µé°Å³ª Å©±â ¶§ ½Ã½ºÅÛ Ã¢¿¡ WM_NCCALCSIZE ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. ¸Þ½ÃÁö¸¦ »ç¿ë ÇÏ ¿© âÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ªÀÇ Å©±â¿Í À©µµ¿ìÀÇ ¿ÞÂÊµÈ À§ ¸ð¼­¸®¸¦ ±âÁØÀ¸·Î Ŭ¶óÀÌ¾ðÆ® ¿µ¿ª À§Ä¡¸¦ °è»ê ÇÏ´Â ½Ã½ºÅÛ. âÀÇ ±âº» â ÇÁ·Î½ÃÀú; ÀϹÝÀûÀ¸·ÎÀÌ ¸Þ½ÃÁö¸¦ Àü´Þ ±×·¯³ª,ÀÌ ¸Þ½ÃÁö´Â âÀÇ ºñŬ¶óÀÌ¾ðÆ® ¿µ¿ªÀ» »ç¿ëÀÚ ÁöÁ¤ Çϰųª â Å©±â°¡ ¶§ Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀÇ ÀϺθ¦ À¯Áö ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡ À¯¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ÂüÁ¶ ±×¸² ¹× ±×¸®±â.

 

Index