WM_MENUSELECT

Àμö

LOWORD(wParam) : ¼±ÅÃµÈ ¸Þ´º Ç׸ñÀÇ ID°¡ Àú´ÞµÈ´Ù. µå·Ó´Ù¿î ¸Þ´º³ª ¼­ºê ¸Þ´ºÀÇ °æ¿ì ¸ÞÀÎ ¸Þ´º¿¡¼­ÀÇ ¼­ºê ¸Þ´º À妽º°¡ Àü´ÞµÇ¸ç lParamÀº ¸ÞÀÎ ¸Þ´ºÀÇ ÇÚµéÀÌ Àü´ÞµÈ´Ù. ÀÌ Àμö·Î GetSubMenu¸¦ È£ÃâÇÏ¸é ¿­·ÁÁø ¼­ºê ¸Þ´ºÀÇ ÇÚµéÀ» ¾òÀ» ¼ö ÀÖ´Ù.

HIWORD(wParam) : ¸Þ´º Ç÷¡±×°ªÀÌ¸ç ´ÙÀ½ Áß Çϳª°¡ µÈ´Ù. ÀÌ °ªÀÌ 0xFFFFÀÌ°í lParamÀÌ NULLÀÌ¸é ½Ã½ºÅÛÀÌ ¸Þ´º¸¦ ´ÝÀº °ÍÀÌ´Ù.

Ç÷¡±×

¼³¸í

MF_BITMAP

ºñÆ®¸Ê ¸Þ´º

MF_CHECKED

üũµÈ »óÅÂ

MF_DISABLED

»ç¿ë ±ÝÁöµÈ »óÅÂ

MF_GRAYED

±×·¹ÀÌ »óÅÂ

MF_HILITE

ÇÏÀ̶óÀÌÆ® »óÅÂ

MF_MOUSESELECT

¸Þ´º Ç׸ñÀÌ ¸¶¿ì½º·Î ¼±ÅõǾú´Ù.

MF_OWNERDRAW

¿À³Ê µå·Î¿ì Ç׸ñ

MF_POPUP

µå·Ó ´Ù¿î ¶Ç´Â ¼­ºê ¸Þ´º

MF_SYSMENU

¸Þ´º Ç׸ñÀº ½Ã½ºÅÛ ¸Þ´ºÀÇ ÀϺÎÀÌ´Ù.

lParam : Ŭ¸¯µÈ ¸Þ´ºÀÇ ÇÚµé

¼³¸í

»ç¿ëÀÚ°¡ ¸Þ´º Ç׸ñÀ» ¼±ÅÃÇÒ ¶§ ¸Þ´ºÀÇ ¼ÒÀ¯ÀÚ¿¡°Ô º¸³»Áø´Ù. À̶§ ¼±ÅÃÀ̶õ ¸Þ´º Ç׸ñÀ» Ŭ¸¯ÇÑ °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï¸ç ¸Þ´º Ç׸ñ À§·Î ¸¶¿ì½º Ä¿¼­³ª ¹ÝÀü ¸·´ë°¡ ¿òÁ÷ÀÌ°í ÀÖ´Ù´Â ¶æÀÌ´Ù. °¢°¢ÀÇ Ç׸ñÀ» ¼±ÅÃÇÒ ¶§¸¶´Ù ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇ¹Ç·Î °³º° Ç׸ñ¿¡ ´ëÇÑ Ã³¸®°¡ ÇÊ¿äÇÒ ¶§ ÀÌ ¸Þ½ÃÁö¸¦ ÀÌ¿ëÇÑ´Ù. ¿¹¸¦ µé¾î °¢ ¸Þ´º Ç׸ñ¿¡ ´ëÇÑ µµ¿ò¸»À» º¸¿© ÁÖ°í ½Í´Ù¸é ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ¼±ÅÃµÈ ¸Þ´º Ç׸ñ¿¡ µû¸¥ µµ¿ò¸»À» »óŶõ µî¿¡ Ãâ·ÂÇÑ´Ù.

¸®ÅÏ

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

¿¹Á¦

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â ´Ù¼¸°³ÀÇ ¸Þ´º Ç׸ñÀ» Á¦°øÇϴµ¥ °¢ ¸Þ´º Ç׸ñ¿¡ ´ëÇÑ µµ¿ò¸»À» ŸÀÌƲ ¹Ù¿¡ º¸¿©ÁØ´Ù.

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

	switch(iMessage) {
	case WM_MENUSELECT:
		switch (LOWORD(wParam)) {
		case 0:
			SetWindowText(hWnd,"ù¹ø° ¼­ºê ¸Þ´º");
			break;
		case 1:
			SetWindowText(hWnd,"µÎ¹ø° ¼­ºê ¸Þ´º");
			break;
		case IDM_MENU1:
			SetWindowText(hWnd,"ù¹ø° ¸Þ´º Ç׸ñÀ» ¼±ÅÃÇß½À´Ï´Ù");
			break;
		case IDM_MENU2:
			SetWindowText(hWnd,"ÀÌ ÇÁ·Î±×·¥Àº Àá½Ã ÈÄ ÀÚ»ìÇÕ´Ï´Ù.");
			break;
		case IDM_MENU3:
			SetWindowText(hWnd,"ÇÏµå µð½ºÅ©¸¦ ¸ù¶¥ Æ÷¸ËÇÕ´Ï´Ù.");
			break;
		case IDM_MENU4:
			SetWindowText(hWnd,"¿î¿µÃ¼Á¦¸¦ ¸ø»ì°Ô ±Á´Ï´Ù.");
			break;
		case IDM_MENU5:
			SetWindowText(hWnd,"¼³Ä¡µÇ¾î ÀÖ´Â ¿î¿µÃ¼Á¦¸¦ ±ò²ûÇÏ°Ô Áö¿ó´Ï´Ù.");
			break;
		}
		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));
}

LOWORD(wParam)À¸·Î Àü´ÞµÈ ¸Þ´º Ç׸ñÀÇ ID, ¶Ç´Â À§Ä¡°ªÀ» º¸°í µµ¿ò¸»À» Ãâ·ÂÇÑ´Ù. µµ¿ò¸»Àº ¹Ì¸® ¹è¿­·Î Á¤ÀÇÇØ ³õ°Å³ª ¾Æ´Ï¸é °°Àº IDÀÇ ¹®ÀÚ¿­ ¸®¼Ò½º·Î ÀÛ¼ºÇØ ³õÀ» ¼öµµ ÀÖ´Ù. ±¸ÇöÀ» °£´ÜÇÏ°Ô Çϱâ À§ÇØ Å¸ÀÌƲ ¹Ù¿¡ µµ¿ò¸»À» Ãâ·ÂÇßÀ¸³ª º¸Åë »óŶõ¿¡ µµ¿ò¸»À» Ãâ·ÂÇÑ´Ù.

¸Þ´º Ç׸ñ¿¡ ´ëÇÑ ½ÇÁ¦ ÄÚµå´Â À§Ç輺ÀÌ ³ô°í ±â¼úÀûÀ¸·Î ¾î·Á¿ì¹Ç·Î ÀÛ¼ºÇÏÁö ¾Ê¾Ò´Ù.

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


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