Àμö |
wParam : Å°º¸µå¿Í ´Ù¸¥ ¸¶¿ì½º ¹öÆ°ÀÇ ÇöÀç »óŸ¦ ³ªÅ¸³»´Â °ªÀÌ¸ç ´ÙÀ½ Ç÷¹±×µéÀÇ Á¶ÇÕ°ªÀÌ´Ù.
LOWORD(lParam), HIWORD(lParam) : ¸¶¿ì½ºÀÇ ÇöÀç X, YÁÂÇ¥ÀÌ´Ù. ÀÌ ÁÂÇ¥´Â ÀÛ¾÷ ¿µ¿ªÀÇ ¿øÁ¡À» ±âÁØÀ¸·Î ÇÑ ÁÂÇ¥ÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì ÁÂÇ¥´Â ¾ç¼ö°ªÀÌÁö¸¸ ĸóµÈ Ư¼öÇÑ »óȲ¿¡¼´Â À½¼öÀÏ ¼öµµ Àִµ¥ ÀÌ °æ¿ì ¹Ýµå½Ã (int)ÇüÀ¸·Î ´Ù½Ã Çѹø ´õ ij½ºÆÃÇØ ÁÖ¾î¾ß ºÎÈ£¸¦ Á¦´ë·Î ¾òÀ» ¼ö ÀÖ´Ù. |
||||||||||||
¼³¸í |
¸¶¿ì½º°¡ ¿òÁ÷ÀÏ ¶§ ÀÌ ¸Þ½ÃÁö°¡ ¸Þ½ÃÁö Å¥¿¡ ºÙ¿©Áø´Ù. ¸¶¿ì½º°¡ ĸóµÇ¾î ÀÖÀ¸¸é ĸóÇÑ À©µµ¿ì·Î ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇ¸ç ±×·¸Áö ¾ÊÀ» °æ¿ì Ä¿¼ ¾Æ·¡ÂÊ¿¡ ÀÖ´Â À©µµ¿ì°¡ ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ´Â´Ù. ¸¶¿ì½º°¡ °è¼Ó ÀÛ¾÷ ¿µ¿ª À§¿¡¼ ¿òÁ÷ÀÌ°í ÀÖÀ¸¸é ÀÌ ¸Þ½ÃÁö´Â ¹Ýº¹ÀûÀ¸·Î °è¼Ó Àü´ÞµÈ´Ù. |
||||||||||||
¸®ÅÏ |
¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é 0À» ¸®ÅÏÇÑ´Ù. |
||||||||||||
¿¹Á¦ |
´ÙÀ½ ¿¹Á¦´Â ¸¶¿ì½º·Î ÀÚÀ¯ °î¼±À» ±×¸°´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; static int x; static int y; static BOOL bnowDraw=FALSE; switch(iMessage) { case WM_LBUTTONDOWN: x=(int)(short)LOWORD(lParam); y=(int)(short)HIWORD(lParam); bnowDraw=TRUE; SetCapture(hWnd); return 0; case WM_MOUSEMOVE: if (bnowDraw==TRUE) { hdc=GetDC(hWnd); MoveToEx(hdc,x,y,NULL); x=(int)(short)LOWORD(lParam); y=(int)(short)HIWORD(lParam); LineTo(hdc,x,y); ReleaseDC(hWnd,hdc); } return 0; case WM_LBUTTONUP: bnowDraw=FALSE; ReleaseCapture(); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } ¸¶¿ì½º ¹öÆ°À» ´©¸¦ ¶§ÀÇ ÁÂÇ¥¸¦ x,y¿¡ ±â¾ï½ÃÄÑ ³õ°í ¸¶¿ì½º¸¦ ĸóÇÑ´Ù. ÀÌ »óÅ¿¡¼ ¸¶¿ì½º¸¦ ¿òÁ÷ÀÌ¸é ¸¶¿ì½º°¡ À̵¿ÇÑ °Å¸®¸¸Å Á÷¼±À» ¹Ýº¹ÀûÀ¸·Î ±×¸²À¸·Î½á ÀÚÀ¯ °î¼±À» ±ß´Â´Ù. WM_MOUSEMOVE ¸Þ½ÃÁö´Â ĸó ¿©ºÎ¿¡ »ó°ü¾øÀÌ Ç×»ó Àü´ÞµÇ¹Ç·Î bnowDraw º¯¼ö·Î °î¼±À» ±×¸®°í ÀÖ´Â ÁßÀÎÁö ¾Æ´ÑÁö¸¦ ¸ÕÀú È®ÀÎÇØ¾ß ÇÑ´Ù. ¸¶¿ì½º ¸Þ½ÃÁö¿¡¼ °î¼±À» ±×¸®±â¸¸ ÇÒ »ÓÀÌ¸ç °î¼± Á¤º¸¸¦ ÀúÀåÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÌ ¿¹Á¦´Â ȸéÀ» ´Ù½Ã ±×¸®Áö ¸øÇÑ´Ù. |
||||||||||||
Ç÷§Æû |
95ÀÌ»ó |
||||||||||||
ÂüÁ¶ |
±×¸®±â Á¤º¸ÀÇ ÀúÀå¿¡ ´ëÇؼ´Â 12ÀåÀ» Âü°íÇϱ⠹ٶõ´Ù. |
written by http://www.winapi.co.kr
|