¿øÇü |
HMENU LoadMenu(HINSTANCE hInstance, LPCTSTR lpMenuName); |
MFC ¿øÇü |
BOOL CMenu::LoadMenu( LPCTSTR lpszResourceName ); |
Àμö |
¢ºhInstance : ¸Þ´º ¸®¼Ò½º¸¦ °¡Áø ¸ðµâÀÇ ÇÚµé. ¢ºlpMenuName : ¸Þ´º ¸®¼Ò½ºÀÇ À̸§À» ÁöÁ¤ÇÏ´Â ¹®ÀÚ¿. ¸Þ´º ¸®¼Ò½º¸¦ Á¤¼ö·Î Á¤ÀÇÇßÀ» °æ¿ì »óÀ§ ¿öµå´Â 0ÀÌ°í ÇÏÀ§ ¿öµå¿¡ ¸Þ´º ID¸¦ ÁöÁ¤ÇØ ÁÖ¸é µÈ´Ù. MAKEINTRESOURCE ¸ÅÅ©·Î ÇÔ¼ö¸¦ »ç¿ëÇϸé Á¤¼ö ID¸¦ °¡Áö´Â ¸Þ´º ¸®¼Ò½º¸¦ Àоî¿Ã ¼ö ÀÖ´Ù. ºñÁÖ¾ó C++ÀÇ ¸Þ´º ÆíÁý±â´Â Á¤¼ö ID·Î ¸Þ´º ¸®¼Ò½º¸¦ ÀÛ¼ºÇØ ÁֹǷΠÅë»ó MAKEINTRESOURCE ¸ÅÅ©·Î ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. |
¸®ÅÏ |
¼º°øÇϸé Àоî¿Â ¸Þ´ºÀÇ ÇÚµéÀ» ¸®ÅÏÇÏ¸ç ½ÇÆнà NULLÀ» ¸®ÅÏÇÑ´Ù. |
¼³¸í |
¸Þ´º ¸®¼Ò½º¸¦ Àоî¿Â´Ù. ¸Þ´º´Â Åë»ó ¸®¼Ò½º·Î ÀÛ¼ºµÇ¸ç ¸µÅ©½Ã ½ÇÇà ÆÄÀÏ¿¡ ÇÕÃÄÁø´Ù. À©µµ¿ì¿¡ ¸Þ´º¸¦ ºÙÀÌ´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ Àִµ¥ °¡Àå ÈçÇÏ°Ô »ç¿ëµÇ´Â ¹æ¹ýÀº À©µµ¿ì Ŭ·¡½ºÀÇ lpszMenuName ¸â¹ö¿¡ »ç¿ëÇÒ ¸Þ´º ¸®¼Ò½º¸¦ ÁöÁ¤ÇØ ÁÖ´Â °ÍÀÌ´Ù. WndClass.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1); lpszMenuName ¸â¹ö¿¡ ¸Þ´º ¸®¼Ò½º¸¦ ´ëÀÔÇØ ÁÖ¸é ÀÌÈĺÎÅÍ ÀÌ À©µµ¿ì Ŭ·¡½º·ÎºÎÅÍ »ý¼ºµÇ´Â ¸ðµç À©µµ¿ì´Â ÀÌ ¸Þ´º ¸®¼Ò½º¸¦ »ç¿ëÇÑ´Ù. µÎ¹ø° ¹æ¹ýÀº CreateWindowÀÇ hMenu ¸â¹ö¿¡ »ç¿ëÇÒ ¸Þ´º ÇÚµéÀ» ´ëÀÔÇØ ÁÖ´Â °ÍÀÌ´Ù. ¸¸¾à À©µµ¿ì Ŭ·¡½º¿¡µµ ¸Þ´º°¡ ÁöÁ¤µÇ¾î ÀÖ°í CreateWindow¿¡µµ ¸Þ´º ÇÚµéÀÌ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é CreateWindowÀÇ ¸Þ´º ÁöÁ¤ÀÌ ¿ì¼±À̹ǷΠÀ©µµ¿ì Ŭ·¡½º¿¡ ÀÖ´Â ¸Þ´º ´ë½Å ´Ù¸¥ ¸Þ´º¸¦ »ç¿ëÇÏ·Á¸é CreateWindow¿¡ ¸Þ´º ÇÚµéÀ» ÁöÁ¤ÇÏ¸é µÈ´Ù. ÇÏÁö¸¸ Åë»óÀûÀ¸·Î ÇÑ À©µµ¿ì Ŭ·¡½º·ÎºÎÅÍ ÇϳªÀÇ ¸ÞÀÎ À©µµ¿ì¸¦ ¸¸µå¹Ç·Î ù¹ø° ¹æ¹ýÀÌ ÈξÀ ´õ ¸¹ÀÌ »ç¿ëµÈ´Ù. ¸Þ´º¸¦ »ç¿ëÇÏ´Â ¼¼¹ø° ¹æ¹ýÀº ½ÇÇàÁß¿¡ ¸Þ´º¸¦ Àоî¿Í À©µµ¿ì¿¡ ºÙÀÌ´Â °ÍÀ̸ç À̶§ LoadMenu ÇÔ¼ö°¡ »ç¿ëµÈ´Ù. LoadMenu·Î Àоî¿Â ¸Þ´º ÇÚµéÀ» SetMenu ÇÔ¼ö·Î À©µµ¿ì¿¡ ºÙ¿©ÁÖ¸é µÈ´Ù. ´Ü, À̶§ LoadMenu·Î ÀÐÀº ¸Þ´º ÇÚµéÀº ¹Ýµå½Ã DestroyMenu ÇÔ¼ö·Î ÇØÁ¦ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ½ÇÇàÁß¿¡ ¸Þ´º ¸®¼Ò½º¸¦ Àоî¿Í ¸Þ´º¸¦ À©µµ¿ì¿¡ ºÙÀδÙ. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; static HMENU hMain; char Mes[]="¸Þ´º ¿¹Á¦ÀÔ´Ï´Ù"; switch(iMessage) { case WM_CREATE: hMain=LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_MENU1)); SetMenu(hWnd,hMain); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); TextOut(hdc,10,10,Mes,lstrlen(Mes)); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: DestroyMenu(hMain); PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } WM_CREATE¿¡¼ IDR_MENU1À¸·Î Á¤ÀÇµÈ ¸Þ´º ¸®¼Ò½º¸¦ Àоî¿Í SetMenu ÇÔ¼ö·Î ¸ÞÀÎ À©µµ¿ì¿¡ ¸Þ´º¸¦ ¼³Á¤ÇÏ¿´´Ù. ÀÌ µÎ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ¸Þ´º ¸®¼Ò½º ¿©·¯ ¹úÀ» Àоî³õ°í ½ÇÇàÁß¿¡ ¸Þ´º¸¦ ¹Ù²ã °¡¸ç »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. |
Âü°íÇÔ¼ö |
SetMenu |
Ç÷§Æû | 95ÀÌ»ó |
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|