ClientToScreen

¿øÇü

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 µî°ú °°ÀÌ È­¸é ÁÂÇ¥¸¦ ¿ä±¸ÇÏ´Â ÇÔ¼ö·Î ÁÂÇ¥¸¦ Àü´ÞÇϱâ À§ÇØ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´©¸¦ ¶§ ¸¶¿ì½º Ä¿¼­¸¦ °­Á¦·Î (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