À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á |
---|
Á¦¸ñ | ƯÀÌÇÑ À©µµ¿ì ¸¸µé±â 1998/08/19 (14:40) |
À̸§ | swindler |
¹øÈ£ | 62 |
Á¶È¸ | 527 |
º»¹® |
ÃÖ±Ù Åë½Å¸ÁÀÇ À©µµ ÇÁ·Î±×·¡¹Ö¶õÀ» °¡¸é ³ëÅÏ À¯Æ¿¸®Æ¼Áß¿¡¼ ¹æÆÐ ¸ð¾çÀ» °¡Áø À©µµ¸¦ ¾î¶»°Ô ¸¸µå´ÂÁö.. °¡¸£ÃÄ´Þ¶ó´Â ³»¿ëÀÇ ±ÛÀ» ¸¹ ÀÌ º¸°Ô µÇ´õ±º¿ä.. ÀÌ ³»¿ëÀº À©µµ 3.1¿¡¼ EmiClockÀ» º¸¾ÒÀ»¶§ ¾î ¶»°Ô ¸¸µé¾ú´ÂÁö.. ±Ã±ÝÇؼ º¯ÇüµÈ À©µµ¸¦ ¸¸µé¾î º»ÀûÀÌ ÀÖ½À´Ï´Ù. ¿©±â¿¡¼´Â ¹æÆÐ À©µµ¶ó±â º¸´Ù´Â º¸ÅëÀÇ À©µµÀÇ Áß¾Ó¿¡ ±¸¸ÛÀÌ ¶Õ¸° À©µµ¸¦ ¸¸µé¾î º¸ÁÒ. ¿©±â¼ ¾ó¸¶µçÁö º¯Çü½Ãų¼ö ÀÖÀ»°Ì´Ï´Ù. ±×·³ ³ÊÀúºÐÇÑ ³»¿ëÀº °ÅµÎ°í... Á÷Á¢ ¾î¶»°Ô ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´ÂÁö ¾Ë¾Æº¸ÁÒ. ¿©±â¿¡¼´Â Win32 SDK¸¦ ±âº»À¸·Î ÇÏ°Ú½À´Ï´Ù. ÀÌÁ¤µµ¸é ºñÁÖ¾ó C++, º¼·£µå C++.. ¸ðµÎ Âü°í°¡ µÉÅ״ϱñ¿ä... ¸¸µé±â Àü¿¡ °¡Àå Áß¿äÇÑ API¸¦ »ìÆ캸¸é ´ÙÀ½°ú °°½À´Ï´Ù. CreateRectRgn CombineRgn SetWindowRgn CreateRectRgn ÇÔ¼ö´Â ¿øÇÏ´Â ¿µ¿ªÀ» ¼³Á¤ÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù. À©µµ¿¡ ±¸¸ÛÀ» ¶Õ±â À§Çؼ´Â µÎ°³ÀÇ À©µµ ¿µ¿ªÀÌ ÇÊ¿äÇÕ´Ï´Ù. ±×·¯´Ï±ñ °¡ Àå ¹Ù±ùÀÇ Å« À©µµ¿Í Áß¾Ó¿¡ ±¸¸ÛÀÌ ¶Õ¸± ¿µ¿ªÀÌ Àֱ⠶§¹®ÀÔ´Ï´Ù. ±×¸² ½Ç·ÂÀº ¾øÁö¸¸ ±×¸²À¸·Î Ç¥ÇöÇÑ´Ù¸é ¾Æ·¡¿Í °°ÀÌ µÇ°ÚÁÒ. ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ Áß¾ÓÀÇ Á¶±×¸¸ À©µµ ¿µ¿ª°ú Å« À©µµ ¦¢ ¦¢ °¡ ÇÊ¿äÇÏ´Ù´Â °ÅÁÒ. ÀÌÇصÇÁÒ. ¦¢ ¦¢ ±×·¯¸é µÎ°³ÀÇ À©µµ¼³Á¤À» Çغ¸ÁÒ. ¦¢ ¦£¦¡¦¡¦¤ ¦¢ ¦¢ ¦¢ ¦¢ ¦¢ CreateRectRgn(0, 0, 400, 300); ¦¢ ¦¢ ¦¢ ¦¢ CreateRectRgn(100, 100, 200, 200); ¦¢ ¦¦¦¡¦¡¦¥ ¦¢ ¦¢ ¦¢ ÁÂÇ¥¸¸ºÁµµ ¾î´À°ÍÀÌ Å« À©µµÀÌ°í, ¦¢ ¦¢ ¾î´À°ÍÀÌ ÀÛÀº À©µµÀÎÁö´Â ¾Æ½Ç°Ì´Ï ¦¢ ¦¢ ´Ù. ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ÀÌ·± ÇÔ¼ö¸¦ È£ÃâÇÏ¸é ¸®ÅÏ°ªÀÌ ³Ñ¾î¿À´Âµ¥.. ±× °ªÀ» ¹Þ¾ÆµÎ¾î¾ß ÇÕ ´Ï´Ù. ³ªÁß¿¡ °è¼Ó »ç¿ëµÇ´Â Áß¿äÇÑ °ªÀ̱⠶§¹®ÀÔ´Ï´Ù. ¸®ÅÏ°ªÀÇ Å× ÀÌŸ ŸÀÔÀº HRGN ÀÔ´Ï´Ù. ÀÌÁ¦ ¿©±â±îÁö°¡ µÇ¸é µÎ À©µµ¸¦ °ãÃļ ÇϳªÀÇ À©µµ·Î ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ±× ÇÔ¼ö°¡ CombineRgn ÀÔ´Ï´Ù. ÀÌ·¸°Ô ¸¸µé¾îÁø À©µµÀÇ ¿µ¿ªÀ» ¼³Á¤ÇÏ´Â ÇÔ¼ö°¡ SetWindowRgn ÀÔ´Ï ´Ù. ÀÚ.. ¹«Áö¹«Áö.. ÀúÀÇ ÀÌ·¯ÇÑ À̾߱Ⱑ ±ÍÂúÀº ºÐµµ ÀÖÀ¸½Ã°ÚÁÒ. ±×·³.. ¹Ù·Î ÇÊ¿äÇÑ ¼Ò½º¸¦ º¸¿©µå¸®ÁÒ. WM_CREATE ¸Þ¼¼Áö¿¡¼ 󸮸¦ ÇØ ÁÖ½Ã¸é µË´Ï´Ù. void OnCreate(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) { HRGN WindowRgn, HoleRgn; WindowRgn = CreateRectRgn( 0, 0, 400, 300); HoleRgn = CreateRectRgn(100, 100, 200, 200); CombineRgn(WindowRgn, WindowRgn, HoleRgn, RGN_DIFF); SetWindowRgn(hwnd, WindowRgn, TRUE); DeleteObject(HoleRgn); } ÀÚ.. ±×·³ Á÷Á¢ ¼öÇàÇغ¸¼¼¿ä.. ±×·³ À§¿¡¼ÀÇ ±×¸²°ú °°Àº À©µµ°¡ »ý±æ°Ì´Ï´Ù. ±×¸®°í »½~ ¶Õ¸° ±¸¸ÛÀ¸·Î µÞÂÊ¿¡ ÀÖ´Â À©µµµçÁö.. ¾ÆÀÌ ÄÜÀ» Ŭ¸¯ÇØ º¸¼¼¿ä. Ŭ¸¯ÀÌ µÉ°Ì´Ï´Ù. |