|
|||||
- File #1 : Image1101.jpg(), Download : 24 |
±×¸²±×¸®±â ¿¬½À Çѹø ´õ ÇÒ±î ÇÏ´Ù°¡ ´Ù Àß ÇϽø®¶ó ¹Ï°í(°ú¿¬ ±×·²±î...?), ½ºÅ¸ÀÏ·¯½º Ææ ¸Þ½ÃÁö¸¦ ¹Þ´Â °ÍÀ» Çغ¸°Ú½À´Ï´Ù. 1. »õ·Î¿î ÇÁ·ÎÁ§Æ® Exam12¸¦ ¸¸µì´Ï´Ù. 2. WinMain ÇÔ¼ö À§¿¡ MyTextOut ÇÔ¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù.(5° ÂüÁ¶) 3. WndProc ÇÔ¼ö·Î À̵¿Çؼ ÀÌ ÇÔ¼öÀÇ º¯¼ö ¼±¾ðºÎ¿¡¼ TCHAR szHello... ´ÙÀ½ÁÙ¿¡ ¾Æ·¡ º¯¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù. int x, y; 4. WM_PAINT ¸Þ½ÃÁö ó¸® ÇÏ´Â °÷¿¡¼ LoadString °ú DrawText¸¦ Áö¿ó´Ï´Ù. 5. ¾Æ·¡¿Í °°ÀÌ WM_PAINT ÀÇ break ¾Æ·¡(WM_DESTROY ÀÇ ¹Ù·Î À§)¿¡ ¾Æ·¡ ¢º Ç¥½ÃµÈ Äڵ带 Ãß°¡ÇÕ´Ï´Ù. case WM_PAINT: RECT rt; hdc = BeginPaint(hWnd, &ps); GetClientRect(hWnd, &rt); EndPaint(hWnd, &ps); break; ¢º case WM_LBUTTONDOWN : ¢º break; ¢º case WM_MOUSEMOVE : ¢º break; ¢º case WM_LBUTTONUP : ¢º break; case WM_DESTROY: CommandBar_Destroy(g_hwndCB); PostQuitMessage(0); break; ¸¸¾à ½ºÅ¸ÀÏ·¯½º ÆæÀ» ¾×Á¤ ȸ鿡 ´ë°í ´©¸£¸é WM_LBUTTONDOWN ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù. ÀÌ °ÍÀº À©µµ¿ì¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´©¸£´Â °Í°ú °°½À´Ï´Ù. ±×·¡¼ ÆæÀÌ ¾×Á¤¿¡ ´êÀ¸¸é case WM_LBUTTONDOWN : ºÎºÐ¿¡¼ 󸮸¦ ÇØÁÖ¸é µË´Ï´Ù. ÆæÀÌ ¿òÁ÷À̸é WM_MOUSEMOVE ¸Þ½ÃÁö°¡ ¹ß»ýÇÏ°í(¸¶¿ì½º°¡ ¾Æ´Ñµ¥ ^^) ÆæÀ» ¶¼¸é WM_LBUTTONUP ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù. 6. WM_LBUTTONDOWN ¸Þ½ÃÁö ó¸® ·çƾ¿¡ ¾Æ·¡ Äڵ带 Ãß°¡ÇÕ´Ï´Ù. case WM_LBUTTONDOWN: ¢º hdc = GetDC( hWnd ); ¢º x = LOWORD( lParam ); ¢º y = HIWORD( lParam ); ¢º swprintf( szHello, LDOWN %3d %3d , x, y ); ¢º MyTextOut( hdc, 0, 0, szHello ); ¢º ReleaseDC( hWnd, hdc ); break; ÀÌ °ÍÀº ÆæÀÌ ´ê¾ÒÀ» ¶§ ±× À§Ä¡¸¦ Ãâ·ÂÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù. hdc = GetDC( hWnd ); ÀÌ ÄÚµå´Â À©µµ¿ìÀÇ DC¸¦ ¾ò´Â °ÍÀÔ´Ï´Ù. WM_PAINT¿¡¼ DC¸¦ ¾ò´Â °Í°ú´Â Á¶±Ý ´Ù¸¨´Ï´Ù. ÀÌ·¸°Ô ¾ò¾î¼ ȸ鿡 ±×¸®¸é ±×¸®´Â °á°ú°¡ ¹Ù·Î ¹Ý¿µµË´Ï´Ù.(BeginPaint ·Î ¾ò´Â DC´Â ȸéÀ» ¹Ù²ã¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù°í ´À³¢Áö ¾ÊÀ¸¸é ȸ鿡 ±×·ÁÁÖÁö ¾Ê½À´Ï´Ù.) x = LOWORD( lParam ); ÆæÀÌ ´êÀº À§Ä¡ÀÇ °¡·Î ÁÂÇ¥¸¦ ¾ò½À´Ï´Ù. lParam Àº WndProc ÀÇ ÀμöÀε¥(WndProc ÀÇ Ã³À½À¸·Î °¡¼ ã¾Æº¸¼¼¿ä) ´Ù¾çÇÑ ¿ëµµ·Î »ç¿ëµË´Ï´Ù. Ææ ¸Þ½ÃÁö¿¡¼´Â ÆæÀÇ ÁÂÇ¥°ªÀ» Àü´ÞÇØ ÁÝ´Ï´Ù. ÀÌ °ÍÀº 4¹ÙÀÌÆ® Á¤¼öÀε¥ ÇÏÀ§ 2¹ÙÀÌÆ®¿¡ °¡·Î ÁÂÇ¥¸¦, »óÀ§ 2¹ÙÀÌÆ®¿¡ ¼¼·Î ÁÂÇ¥¸¦ ³Ö¾î¼ º¸³»ÁÝ´Ï´Ù. ¿ì¸®´Â lParam ÀÇ ÇÏÀ§ 2¹ÙÀÌÆ®¸¦ ¶¼¾î³»¼ º¯¼ö x ¿¡ ³Ö¾îÁÝ´Ï´Ù. LOWORD ÇÔ¼ö(»ç½Ç ¸ÅÅ©·ÎÀÔ´Ï´Ù¸¸)´Â 4¹ÙÀÌÆ® Á¤¼öÀÇ ÇÏÀ§ 2¹ÙÀÌÆ®¸¦ ¶¼¾î³»´Â ÇÔ¼öÀÔ´Ï´Ù. y = HIWORD( lParam ); ÆæÀÌ ´êÀº À§Ä¡ÀÇ ¼¼·Î ÁÂÇ¥¸¦ ¾ò½À´Ï´Ù. ¼³¸íÀº ÇÊ¿ä¾øÁÒ? swprintf( szHello, LDOWN %3d %3d , x, y ); ÁÂÇ¥¸¦ ȸ鿡 º¸¿©ÁÖ±â À§ÇØ ¹®ÀÚ¿ º¯¼ö szHello ¿¡ DOWN À̶ó´Â ´Ü¾î¿Í ÇÔ²² °¡·Î, ¼¼·Î ÁÂÇ¥¸¦ Ãâ·ÂÇÕ´Ï´Ù. À̶§ µû¿ÈÇ¥ ¾ÈÀÇ µÚÂÊ¿¡ »ó´çÇÑ ¿©¹éÀ» ÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÁÂÇ¥°¡ Ä¿Á³´Ù°¡ ÁÙ¾îµé¾úÀ» ¶§ ±ÛÀÚ¸¦ ´Ù Áö¿ìÁö ¾Ê°í ÀÚ±¹À» ³²±â°Ô µË´Ï´Ù.(ÀÌÇØ ¾ÈµÇ½Ã¸é µÚ¿¡ ºóÄÀ» ÁÖÁö ¾Ê°í ÄÚµù ÈÄ ÆæÀ¸·Î ¿©±âÀú±â Âñ·¯º¸¼¼¿ä. Ãâ·ÂÀÌ ¾î¶»°Ô µÇ³ª...) MyTextOut( hdc, 0, 0, szHello ); ¸¸µé¾îÁø ¹®ÀÚ¿À» ȸé Á¦ÀÏ ÀÁÙ¿¡ Ãâ·ÂÇÕ´Ï´Ù. ReleaseDC( hWnd, hdc ); ´Ù »ç¿ëÇÑ DC¸¦ À©µµ¿ì¿¡°Ô µ¹·ÁÁÝ´Ï´Ù. 7. WM_MOUSEMOVE ¸Þ½ÃÁö ó¸® ·çƾ¿¡ ¾Æ·¡ Äڵ带 Ãß°¡ÇÕ´Ï´Ù. case WM_MOUSEMOVE: ¢º hdc = GetDC( hWnd ); ¢º x = LOWORD( lParam ); ¢º y = HIWORD( lParam ); ¢º swprintf( szHello, LMOVE %3d %3d , x, y ); ¢º MyTextOut( hdc, 0, 20, szHello ); ¢º ReleaseDC( hWnd, hdc ); break; WM_LBUTTONDOWN °ú °°½À´Ï´Ù¸¸ swprintf ÀÇ ³»¿ëÀÌ MOVE ·Î µÇ¾î ÀÖ°í MyTextOut ÇÔ¼öÀÇ ¼¼·Î ÁÂÇ¥°¡ 20 À¸·Î µÇ¾î ÀÖ½À´Ï´Ù. º¹»çÇÑ ÈÄ °íÄ¡¼Åµµ µË´Ï´Ù. 8. WM_LBUTTONUP ¸Þ½ÃÁö ó¸® ·çƾ¿¡ ¾Æ·¡ Äڵ带 Ãß°¡ÇÕ´Ï´Ù. case WM_LBUTTONUP: ¢º hdc = GetDC( hWnd ); ¢º x = LOWORD( lParam ); ¢º y = HIWORD( lParam ); ¢º swprintf( szHello, LUP %3d %3d , x, y ); ¢º MyTextOut( hdc, 0, 40, szHello ); ¢º ReleaseDC( hWnd, hdc ); break; WM_LBUTTONDOWN °ú °°½À´Ï´Ù¸¸ swprintf ÀÇ ³»¿ëÀÌ UP À¸·Î µÇ¾î ÀÖ°í MyTextOut ÇÔ¼öÀÇ ¼¼·Î ÁÂÇ¥°¡ 40 À¸·Î µÇ¾î ÀÖ½À´Ï´Ù. 9. ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¾´Ï´Ù. À§ ±×¸²°ú °°Àº °á°ú°¡ ³ªÅ¸³µ½À´Ï±î? À§ ¼öÄ¡´Â ¾î¶»°Ô ±×¸° °É±î¿ä? ^^ |
|
|