WM_LBUTTONDOWN

Àμö

wParam : Å°º¸µå¿Í ´Ù¸¥ ¸¶¿ì½º ¹öÆ°ÀÇ ÇöÀç »óŸ¦ ³ªÅ¸³»´Â °ªÀÌ¸ç ´ÙÀ½ Ç÷¹±×µéÀÇ Á¶ÇÕ°ªÀÌ´Ù.

°ª ¼³¸í
MK_CONTROL Ctrl Å°°¡ ´­·¯Á® ÀÖ´Ù.
MK_LBUTTON ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°ÀÌ ´­·¯Á® ÀÖ´Ù.
MK_MBUTTON ¸¶¿ì½º °¡¿îµ¥ ¹öÆ°ÀÌ ´­·¯Á® ÀÖ´Ù.
MK_RBUTTON ¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ°ÀÌ ´­·¯Á® ÀÖ´Ù.
MK_SHIFT ShiftÅ°°¡ ´­·¯Á® ÀÖ´Ù.

LOWORD(lParam), HIWORD(lParam) : ¸¶¿ì½ºÀÇ ÇöÀç X, YÁÂÇ¥ÀÌ´Ù. ÀÌ ÁÂÇ¥´Â ÀÛ¾÷ ¿µ¿ªÀÇ ¿øÁ¡À» ±âÁØÀ¸·Î ÇÑ ÁÂÇ¥ÀÌ´Ù.

¼³¸í

ÀÛ¾÷ ¿µ¿ª ³»ºÎ¿¡¼­ ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´©¸¦ ¶§ ÀÌ ¸Þ½ÃÁö°¡ ¸Þ½ÃÁö Å¥¿¡ ºÙ¿©Áø´Ù. ¸¶¿ì½º°¡ ĸóµÇ¾î ÀÖÀ¸¸é ĸóÇÑ À©µµ¿ì·Î ¸Þ½ÃÁö°¡ Àü´ÞµÇ¸ç ±×·¸Áö ¾ÊÀ¸¸é ¸¶¿ì½º Ä¿¼­ ¾Æ·¡ÀÇ À©µµ¿ì·Î Àü´ÞµÈ´Ù. ¸ðµç ¸Þ½ÃÁö Áß¿¡ °¡Àå ½±°Ô ¹ÞÀ» ¼ö ÀÖ´Â ¸Þ½ÃÁöÀ̹ǷΠ½Ç½À¿ëÀ̳ª °£´ÜÇÑ Å×½ºÆ®¿ëÀ¸·Î ¸¹ÀÌ »ç¿ëµÈ´Ù.

¸®ÅÏ

¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é 0À» ¸®ÅÏÇÑ´Ù.

¿¹Á¦

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â ¸¶¿ì½º·Î Ŭ¸¯ÇÑ À§Ä¡¿¡ ^Click^¹®ÀÚ¿­À» Ãâ·ÂÇÑ´Ù. CtrlÅ°¿Í ÇÔ²² Ŭ¸¯Çϸé ÀÌ ¹®ÀÚ¿­À» »èÁ¦ÇÑ´Ù. ÃÖÈÄ Ãâ·Â À§Ä¡ ÀúÀåÀ» À§ÇØ x,yº¯¼ö¸¦ staticÀ¸·Î ¼±¾ðÇßÀ¸¸ç WM_LBUTTONDOWN¿¡¼­ ÀÌ ÁÂÇ¥¸¦ ¸¶¿ì½º¸¦ ´©¸¥ À§Ä¡ÀÇ ÁÂÇ¥·Î º¯°æÇÏ¿´´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	static int x,y;

	switch(iMessage) {
	case WM_LBUTTONDOWN:
		if (wParam & MK_CONTROL) {
			x=0;y=0;
		} else {
			x=LOWORD(lParam);
			y=HIWORD(lParam);
		}
		InvalidateRect(hWnd,NULL,TRUE);
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		if (x) {
			SetTextAlign(hdc,TA_CENTER);
			TextOut(hdc,x,y,"^Click^",7);
		}
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr