¿øÇü |
HWND SetCapture(HWND hWnd); |
MFC ¿øÇü |
CWnd* CWnd::SetCapture( ); |
Àμö |
¢ºhWnd : ¸¶¿ì½º¸¦ ĸóÇÒ À©µµ¿ìÀÇ ÇÚµé |
¸®ÅÏ |
ÀÌÀü¿¡ ¸¶¿ì½º¸¦ ĸóÇÏ°í ÀÖ´ø À©µµ¿ìÀÇ ÇÚµéÀ» ¸®ÅÏÇÏµÇ Ä¸Ã³ÇÑ À©µµ¿ì°¡ ¾øÀ¸¸é NULLÀ» ¸®ÅÏÇÑ´Ù. |
¼³¸í |
¸¶¿ì½º ¹öÆ°ÀÇ ´©¸§, À̵¿, ¶À µîÀÇ ¸¶¿ì½º ¸Þ½ÃÁö´Â º¸Åë Ä¿¼ ¹Ù·Î ¾Æ·¡ÂÊ¿¡ ÀÖ´Â À©µµ¿ì·Î Àü´ÞµÈ´Ù. ÀÌ´Â Áö±ØÈ÷ Á¤»óÀûÀÌ¸ç »ó½ÄÀûÀ̳ª °¡²û Ä¿¼°¡ ¿µ¿ª¹ÛÀ» ¹þ¾î³ªµµ °è¼ÓÀûÀ¸·Î ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ¹Þ¾Æ¾ß ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ÀÌ·± °æ¿ì´Â ¸¶¿ì½º Ä¿¼¸¦ ĸóÇØ¾ß ÇÑ´Ù. SetCapture ÇÔ¼ö´Â hWnd À©µµ¿ì°¡ ¸¶¿ì½º Ä¿¼¸¦ ĸóÇϵµ·Ï Çϸç ÀÌ·¸°Ô µÇ¸é Ä¿¼°¡ À©µµ¿ìÀÇ ¿µ¿ª¹ÛÀ» ¹þ¾î³ª´õ¶óµµ °è¼ÓÇؼ ¸¶¿ì½º ¸Þ½ÃÁö¸¦ º¸³»ÁØ´Ù. ÀÌ »óÅ´ ReleaseCapture ÇÔ¼ö·Î ĸó¸¦ Ç®±â Àü±îÁö °è¼ÓµÈ´Ù. ÁÖ·Î µå·¡±× µ¿ÀÛÀ» ÇÒ ¶§ ĸó°¡ ÇÊ¿äÇÏ´Ù. ÇöÀç ½º·¹µå¿¡ ¼ÓÇÑ À©µµ¿ì¸¸ ĸó¸¦ ÇÒ ¼ö ÀÖÀ¸¸ç Çѹø¿¡ ÇϳªÀÇ À©µµ¿ì¸¸ ¸¶¿ì½º¸¦ ĸóÇÒ ¼ö ÀÖ´Ù. ¸¶¿ì½º¸¦ ĸóÇÑ À©µµ¿ì´Â ¸ðµç ¸¶¿ì½º ¸Þ½ÃÁö¸¦ Àü´Þ¹Þ´Âµ¥ ´Ü ¿¹¿ÜÀûÀ¸·Î ´Ù¸¥ ½º·¹µå¿¡ ¼ÓÇÑ À©µµ¿ì¸¦ ´©¸¦ °æ¿ì´Â ĸó ¿©ºÎ¿¡ »ó°ü¾øÀÌ Ä¿¼ ¾Æ·¡ÂÊÀÇ À©µµ¿ì·Î ¸Þ½ÃÁö°¡ Àü´ÞµÇ¸ç ÀÌ °æ¿ì ÇØ´ç À©µµ¿ì´Â Æ÷±×¶ó¿îµå »óÅ°¡ µÈ´Ù. ¸¶¿ì½º ¹öÆ° ´©¸§Àº ÀÛ¾÷ÀÇ ÀüȯÀ» ÀǹÌÇϹǷΠĸó ¿©ºÎ¿¡ »ó°ü¾øÀÌ ÇØ´ç À©µµ¿ì·Î Àü´ÞµÈ´Ù. ±×·¯³ª º¸Åë ¸¶¿ì½º ¹öÆ°À» ´©¸¥ »óÅ¿¡¼ Ä¿¼¸¦ ĸóÇϱ⠶§¹®¿¡ ÀÌ·± °æ¿ì´Â ±ØÈ÷ µå¹°´Ù. Æ÷±×¶ó¿îµå À©µµ¿ì°¡ ¸¶¿ì½º¸¦ ĸóÇÏ´Â °ÍÀÌ º¸ÅëÀÌÁö¸¸ ¹é±×¶ó¿îµå À©µµ¿ìµµ ¸¶¿ì½º¸¦ ĸóÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì Ä¿¼°¡ ¹é±×¶ó¿îµå À©µµ¿ìÀÇ º¸ÀÌ´Â ºÎºÐ¿¡ ÀÖÀ» ¶§¸¸ ¸¶¿ì½º ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. ĸó »óÅ¿¡¼´Â ¸Þ´ºÀÇ ÇÖÅ°, ¾×¼¿·¯·¹ÀÌÅÍ µîÀº µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. ´ÙÀ½ ¿¹Á¦´Â ¸¶¿ì½º°¡ À̵¿Çϴ´ë·Î ÀÚÀ¯ °î¼±À» ±×¸°´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; static int x, y; switch(iMessage) { case WM_LBUTTONDOWN: x=short(LOWORD(lParam)); y=short(HIWORD(lParam)); SetCapture(hWnd); return 0; case WM_MOUSEMOVE: if (GetCapture()==hWnd) { hdc=GetDC(hWnd); MoveToEx(hdc,x,y,NULL); x=short(LOWORD(lParam)); y=short(HIWORD(lParam)); LineTo(hdc,x,y); ReleaseDC(hWnd,hdc); } return 0; case WM_LBUTTONUP: ReleaseCapture(); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } ¸¶¿ì½º ¹öÆ°À» ´©¸¥ »óÅ¿¡¼ À̵¿ÇÏ¸é ¼±À» ¿¬°áÇÏ¿© °è¼Ó ±×¸®´Âµ¥ Ä¿¼°¡ ÀÛ¾÷ ¿µ¿ª¹ÛÀ» ¹þ¾î³ª´õ¶óµµ ÁÂÇ¥ °»½ÅÀ» °è¼Ó ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¹°·Ð ¿µ¿ª¹ÛÀ¸·Î ¼±ÀÌ ±×·ÁÁö´Â °ÍÀº ¾Æ´ÏÁö¸¸ ĸó¸¦ ÇÏÁö ¾ÊÀ¸¸é Ä¿¼°¡ °©Àڱ⠿µ¿ª¾ÈÀ¸·Î µé¾î¿ÔÀ» ¶§ ¿µ¿ª¹ÛÀ¸·Î ³ª°£ ÁöÁ¡°ú ¼±ÀÌ ¿¬°áµÇ¾î ¿¬¼ÓÀûÀÎ ÀÚÀ¯ °î¼±À» ±×¸± ¼ö ¾ø´Ù. ¶ÇÇÑ Ä¿¼¸¦ ĸóÇÏÁö ¾ÊÀº »óÅ¿¡¼ ¿µ¿ª ¹Ù±ù¿¡¼ ¹öÆ°À» ³õ¾ÒÀ» ¶§ ÀÌ À©µµ¿ì´Â ±×¸®±â°¡ ³¡³µ´Ù´Â »ç½ÇÀ» ¾Ë ¼ö ¾ø°Ô µÈ´Ù. ½ÇÇàÁßÀÇ ¸ð½ÀÀº ´ÙÀ½°ú °°´Ù. ¸¸¾à ĸó¸¦ ÇÏÁö ¾Ê°í Àü¿ª º¯¼ö·Î ±×¸®±â »óÅÂÀÎÁö¸¦ ÆÇ´ÜÇϵµ·Ï ÇÑ´Ù¸é ÀÛ¾÷ ¿µ¿ª ¹Ù±ùÀ¸·Î ¹þ¾î³¯ ¶§ÀÇ Ã³¸®¸¦ Á¦´ë·Î ÇÒ ¼ö°¡ ¾ø´Ù. |
Âü°íÇÔ¼ö |
ReleaseCapture, GetCapture |
Ç÷§Æû | 95ÀÌ»ó |
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|