| ¿øÇü |
BOOL ClientToScreen(HWND hWnd, LPPOINT lpPoint); |
| MFC ¿øÇü |
void CWnd::ClientToScreen( LPPOINT lpPoint ) const; |
| Àμö |
¢ºhWnd : ÁÂÇ¥ º¯È¯¿¡ »ç¿ëµÉ À©µµ¿ìÀÇ ÇÚµé. lpPoint¸¦ ÀÌ À©µµ¿ìÀÇ ÀÛ¾÷ ¿µ¿ª ÁÂÇ¥·Î ÀνÄÇÑ´Ù. ¢ºlpPoint : º¯È¯ ´ë»ó ÁÂÇ¥ÀÌ¸ç ³í¸® ´ÜÀ§°¡ ¾Æ´Ñ ÀåÄ¡ ´ÜÀ§(Çȼ¿)ÀÌ´Ù. |
| ¸®ÅÏ |
¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. |
| ¼³¸í |
hWndÀÇ ÀÛ¾÷ ¿µ¿ª ¿øÁ¡À» ±âÁØÀ¸·Î ÇÏ´Â ÁÂÇ¥ lpPoint¸¦ Àüü ȸéÀ» ±âÁØÀ¸·Î ÇÏ´Â ÁÂÇ¥·Î º¯È¯ÇÑ´Ù. hWndÀ©µµ¿ìÀÇ ÀÛ¾÷ ¿µ¿ª ¿øÁ¡ÀÇ È¸é ÁÂÇ¥°¡ cx, cyÀÏ ¶§ lpPoint´Â lpPoint.x + cx, lpPoint + cy·Î º¯È¯µÈ´Ù. ÀÛ¾÷ ¿µ¿ªÀÇ ÁÂÇ¥¸¦ ¹Þ¾Æ GetCurosrPos, MoveWindow µî°ú °°ÀÌ È¸é ÁÂÇ¥¸¦ ¿ä±¸ÇÏ´Â ÇÔ¼ö·Î ÁÂÇ¥¸¦ Àü´ÞÇϱâ À§ÇØ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´©¸¦ ¶§ ¸¶¿ì½º Ä¿¼¸¦ °Á¦·Î (200,200)À¸·Î ¿Å±ä´Ù.
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
POINT pt;
switch(iMessage) {
case WM_LBUTTONDOWN:
pt.x=200;
pt.y=200;
ClientToScreen(hWnd,&pt);
SetCursorPos(pt.x,pt.y);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
Rectangle(hdc,200-5,200-5,200+5,200+5);
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
¸¶¿ì½º Ä¿¼ÀÇ À§Ä¡¸¦ ¿Å±æ ¶§´Â SetCursorPos ÇÔ¼ö¸¦ »ç¿ëÇϴµ¥ ÀÌ ÇÔ¼ö´Â È¸é ¿øÁ¡À» ±âÁØÀ¸·Î ÇÏ´Â ÁÂÇ¥¸¦ ¿ä±¸ÇϹǷΠClientToScreen ÇÔ¼ö·Î ÀÛ¾÷ ¿µ¿ª ÁÂÇ¥¸¦ ȸé ÁÂÇ¥·Î º¯È¯ÇÑ ÈÄ SetCurosrPos ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸¶¿ì½º Ä¿¼´Â ¹«Á¶°Ç ȸé»óÀÇ (200,200)À¸·Î À̵¿ÇÑ´Ù.
|
| Âü°íÇÔ¼ö |
ScreenToClient : ȸé ÁÂÇ¥¸¦ ÀÛ¾÷ ¿µ¿ª ÁÂÇ¥·Î º¯È¯ÇÑ´Ù. |
| Ç÷§Æû | 95ÀÌ»ó |
| ÂüÁ¶ |
|
|
written by http://www.winapi.co.kr
|