![]() |
![]() |
||||
|
|||||
![]() |
![]() |
- File #1 : Image1601.jpg(), Download : 18 |
![]() ¿À´ÃÀº ´ÙÀ̾ó·Î±×¸¦ ȸ鿡 ¶ç¿ì±âÀÔ´Ï´Ù. 1. »õ·Î¿î ÇÁ·ÎÁ§Æ® Exam16À» ¸¸µì´Ï´Ù. ±×¸®°í Hello World¸¦ Ãâ·ÂÇÏ´Â Äڵ带 ¸ðµÎ Áö¿ó´Ï´Ù. 2. ¸®¼Ò½º ºä(°¡´Â ¹æ¹ý Àü °Á ÂüÁ¶)·Î °¡¼ Menubar ¢¹ IDM_MENU¸¦ ¶ç¿ì°í IDM_MENU ÀÇ ¾ð¾î¸¦ English(U.S.)¿¡¼ Korean À¸·Î ¹Ù²ß´Ï´Ù.(¾Õ °Á ÂüÁ¶, ÇѱÛÀ» ¾²±â À§Çؼ) À̶§ IDM_MENU¸¦ ¶ç¿ìÁö ¾Ê°í ¸ÕÀú ¾ð¾î¸¦ ¹Ù²Ù¸é IDM_MENU ¿¡ ¾ð¾î°¡ ¹Ù²ï »ç½ÇÀÌ ¹Ý¿µÀÌ ¾ÈµÇ¼ ¸Þ´º°¡ ³ªÅ¸³ªÁö ¾Ê±âµµ ÇÏ´õ±º¿ä. VC++ 3.0 ÀÇ ¹ö±×¶ó°í ÇØ¾ß ÇÒÁö... ¾ð¾î¸¦ ¹Ù²ÙÁö ¾Ê°í ÇÑ±Û ¸Þ´º Ãß°¡Çϸé ÇÑ±Û ´Ù ±úÁö´Â°Å´Â ¾Æ½ÃÁÒ? 3. ¸Þ´º¿¡¼ Tools¸¦ ´·¯ About ¹× ºóÄÀ» ´õºíŬ¸¯ ÇÑ ´ÙÀ½ Properties ȸéÀÌ ³ª¿À¸é ID Ä¿¡ IDM_VIEW_MYDLG¸¦, Caption Ä¿¡ ³» ´ÙÀ̾ó·Î±× º¸±â¸¦ ³Ö½À´Ï´Ù. ID ´Â ¿µ¹® ´ë¹®ÀÚ¿Í _(¹ØÁÙ) ¸¸À» »ç¿ëÇÏ¸é ¾Æ¹«·¸°Ô³ª Àû¾îµµ µÇÁö¸¸, ÇÁ·Î±×·¥ Äڵ忡¼ ÀÌ °ÍÀ¸·Î ÀÌ ¸Þ´º¸¦ ÀνÄÇÑ´Ù´Â »ç½ÇÀº ¾Ë°í °è¼Å¾ß ÇÕ´Ï´Ù. 4. ¿ÞÂÊ Exam16 Resources ÇÏ´Ü Dialog¸¦ ´õºíŬ¸¯ Çϸé IDD_ABOUTBOX[English(U.S.)] °¡ ³ª¿É´Ï´Ù. IDD_ABOUTBOX[English(U.S.)]¸¦ ´õºíŬ¸¯ Çؼ About ´ÙÀ̾ó·Î±×¸¦ ¶ç¿ì°í ¾ð¾î¸¦ Korean À¸·Î ¹Ù²ã ÁÝ´Ï´Ù. ±×·¯¸é ÀÌÈÄ Ãß°¡µÇ´Â ´ÙÀ̾ó·Î±×´Â ÀÚµ¿À¸·Î ¾ð¾î¸¦ Çѱ۷Π¼±ÅÃÇÕ´Ï´Ù. 5. ´Ù½Ã À§ÀÇ Dialog Ç׸ñÀ» ¼±ÅÃÇؼ ¿À¸¥ÂÊ ¸¶¿ì½º ¹öÆ°À» ´©¸£¸é Æ˾÷ ¸Þ´º°¡ ³ªÅ¸³³´Ï´Ù. Æ˾÷ ¸Þ´º¿¡¼ Insert Dialog¸¦ ¼±ÅÃÇÕ´Ï´Ù. IDD_ABOUTBOX ¾Æ·¡¿¡ IDD_DIALOG1 ÀÌ Ãß°¡µË´Ï´Ù. 6. È¸é ¿À¸¥ÂÊÀÇ IDD_DIALOG1 ¿¡ ÇØ´çÇÏ´Â ´ÙÀ̾ó·Î±×¸¦ ¼±ÅÃÇÑ ´ÙÀ½(±× ¾È¿¡ ¹öÆ° ¼±ÅÃÇÏÁö ¸¶¼¼¿ä) ´õºíŬ¸¯ Çϸé Properties âÀÌ ³ªÅ¸³³´Ï´Ù. ID Ä¿¡ IDD_MYDLG, Caption â¿¡ ³ªÀÇ ´ÙÀ̾ó·Î±×¸¦ ÀÔ·ÂÇÑ ÈÄ Enter¸¦ Ĩ´Ï´Ù. ¿ÞÂÊ ´ÙÀ̾ó·Î±× À̸§ÀÌ IDD_MYDLG ·Î ¹Ù²î¾úÁÒ? ±×³É µÖµµ µÇÁö¸¸ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥ÀÇ ¸ñÀû¿¡ ¸Â°Ô ID¸¦ ¹Ù²ã ÁÖ´Â °ÍÀÌ Å« ÇÁ·Î±×·¥À» ¸¸µé ¶§ µµ¿òÀ» ÁÝ´Ï´Ù. 7. È¸é µðÀÚÀΰú ÇÁ·Î±×·¥°úÀÇ ¿¬°áÀº ´ÙÀ½ ½Ã°£¿¡ ÇØ º¸°Ú½À´Ï´Ù. ȸ鿡 ÀÖ´Â ¹öÆ°Àº ¿ÞÂÊÀ¸·Î ¿Å±â´ø°¡ Áö¿öÁÖ½Ã¸é µË´Ï´Ù. ±×³É ½ÇÇà½ÃÅ°¸é ¿À¸¥ÂÊ ±ÍÅüÀÌ¿¡ ¹öÆ°ÀÌ ¾à°£¸¸ ³ªÅ¸³¯ °Ì´Ï´Ù. Àü ¿ÞÂÊÀ¸·Î... 7. Ŭ·¡½º ºä·Î °¡¼(Àü °Á ÂüÁ¶) WinMainÀ» ´õºí Ŭ¸¯ Çؼ WinMain ÇÔ¼ö·Î °£ ´ÙÀ½, WinMain ÇÔ¼ö À§¿¡ // Forward declarations... ÀÇ Á¦ÀÏ ¾Æ·¡ Ä¿¡ ¾Æ·¡¿Í °°ÀÌ ÇÔ¼ö¸¦ Ãß°¡ÇØ ÁÝ´Ï´Ù. ( ¢º Ç¥½ÃµÈ ÇÑ ÁÙ. ³¡¿¡ ¼¼¹ÌÄÝ·ÐÀÌ ºÙ¾úÀ½¿¡ ÁÖÀÇ) // Forward declarations of functions included in this code module: ...... HWND CreateRpCommandBar(HWND); ¢ºLRESULT CALLBACK MyDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); ÀÌ °ÍÀº ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔÀÇ ¼±¾ðÀ̶ó°í ÇÕ´Ï´Ù. ÇÔ¼ö°¡ ÇÔ¼öÀÇ È£Ãâ ½ÃÁ¡ º¸´Ù ¾Æ·¡¿¡ ¸¸µé¾îÁ® ÀÖ´Â °æ¿ì ÄÄÆÄÀÏ·¯°¡ ÄÄÆÄÀÏ Áß ÇÔ¼ö¸¦ ã¾Æ¼ ¿¬°áÇÏÁö ¸øÇØ ÄÄÆÄÀÏ ¿¡·¯¸¦ ³À´Ï´Ù. À̶§ ÀÌ ºÎºÐ¿¡ ÀÌ·¸°Ô ¼±¾ðÇØ ³õÀ¸¸é ÄÄÆÄÀÏ·¯´Â MyDlg ÇÔ¼ö°¡ ¾îµò°¡ ÀÖ´Ù°í »ý°¢ÇÏ°í´Â È£Ãâ ½ÃÁ¡ÀÇ ÄÄÆÄÀÏÀ» Àá½Ã üũÇØ µ×´Ù°¡ ³ªÁß¿¡ ÇÔ¼ö°¡ ½ÇÁ¦·Î ¹ß°ßµÇ¸é ¿¬°á½ÃÄÑ ÄÄÆÄÀÏ ÇÏ´Â °ÍÀÔ´Ï´Ù. ¸¸¾à ÇÔ¼ö¸¦ Àü¿¡Ã³·³ WinMain ÇÔ¼ö À§¿¡ ¸¸µé¸é È£Ãâ ½ÃÁ¡ÀÌ ÇÔ¼öº¸´Ù Ç×»ó ¾Æ·¡°¡ µÇ±â ¶§¹®¿¡ ÇÁ·ÎÅä ŸÀÔÀ» ¼±¾ðÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¿À´ÃÀº ÇÁ·ÎÅä ŸÀÔÀ» Çѹø Çغ¸±â À§ÇØ È£Ãâ ½ÃÁ¡ º¸´Ù ¾Æ·¡(»ç½ÇÀº Á¦ÀÏ ¾Æ·¡)¿¡ MyDlg ÇÔ¼ö¸¦ ¸¸µé¾î º¾´Ï´Ù. 8. ÀÌÁ¦ ³»°¡ ¸¸µç ´ÙÀ̾ó·Î±× IDD_MYDLG À©µµ¿ìÀÇ ¸Þ½ÃÁö¸¦ ó¸®ÇÒ ÇÔ¼ö MyDlg ÇÔ¼ö¸¦ ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ ¾Æ·¡¿¡ Ãß°¡ÇÕ´Ï´Ù. (Àú´Â AboutDlg¸¦ º¹»çÇؼ À̸§¸¸ °íÃƽÀ´Ï´Ù.) ¢ºLRESULT CALLBACK MyDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) ¢º{ ¢º SHINITDLGINFO shidi; ¢º ¢º switch (message) ¢º { ¢º case WM_INITDIALOG: ¢º // Create a Done button and size it. ¢º shidi.dwMask = SHIDIM_FLAGS; ¢º shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | ¢º SHIDIF_SIZEDLGFULLSCREEN; ¢º shidi.hDlg = hDlg; ¢º SHInitDialog(&shidi); ¢º return TRUE; ¢º ¢º case WM_COMMAND: ¢º if (LOWORD(wParam) == IDOK) ¢º { ¢º EndDialog(hDlg, LOWORD(wParam)); ¢º return TRUE; ¢º } ¢º break; ¢º } ¢º return FALSE; ¢º} ´ÙÀ̾ó·Î±×°¡ ¸¸µé¾îÁö¸é ÀÌ ÇÔ¼ö¿¡¼ ´ÙÀ̾ó·Î±×ÀÇ À©µµ¿ì ¸Þ½ÃÁö¸¦ ó¸®ÇÕ´Ï´Ù. SHINITDLGINFO shidi; SHINITDLGINFO Çü º¯¼ö´Â ´ÙÀ̾ó·Î±×¸¦ ÃʱâÈ ÇÒ ¶§ Á¤º¸¸¦ OS ¿¡°Ô ³Ñ°ÜÁÖ±â À§ÇÑ ÀÚ·á ±¸Á¶ÀÔ´Ï´Ù. case WM_INITDIALOG: shidi.dwMask = SHIDIM_FLAGS; shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN; shidi.hDlg = hDlg; SHInitDialog(&shidi); return TRUE; WM_INITDIALOG ¸Þ½ÃÁö´Â ´ÙÀ̾ó·Î±×°¡ ¸¸µé¾îÁø ÈÄ Ã³À½ ¾î¶»°Ô ÃʱâÈÇØ¾ß ÇÒÁö¸¦ °áÁ¤Çϱâ À§ÇØ º¸³»Áö´Â ¸Þ½ÃÁöÀÔ´Ï´Ù. ¿©±â¼ ¿ì¸®°¡ ´ÙÀ̾ó·Î±×Çؼ ÇؾßÇÒ ÀÛ¾÷ÀÇ Ãʱâȸ¦ ÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ̾ó·Î±×¿¡¼ »ç¿ëµÇ´Â º¯¼öµéÀÇ ÃʱâÈ ÀÛ¾÷ °°Àº ³»¿ëÀ» Ãß°¡ÇÏ¸é µË´Ï´Ù. ÇöÀç ¿©±â¼´Â ´ÙÀ̾ó·Î±×¸¦ ÃʱâÈ ÇÏ´Â ÀÛ¾÷¸¸ ÇÏ°í ÀÖ½À´Ï´Ù. ±×·±µ¥, Àç¹ÌÀÖ´Â °ÍÀÌ WM_INITDIALOG ³»ÀÇ ÄÚµå Áß return TRUE;¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö¸¦ ´Ù »èÁ¦Çصµ ÇÁ·Î±×·¥Àº ÀÌ»ó ¾øÀÌ Àß µ¿ÀÛÇÕ´Ï´Ù. ÀÌ Äڵ尡 ¿Ö ÇÊ¿äÇÑÁö Àü ¾ÆÁ÷ Àß ¸ð¸£°Ú½À´Ï´Ù. ±×³É AboutDlg Äڵ带 ±×³É º¹»çÇ߱⠶§¹®¿¡... case WM_COMMAND: if (LOWORD(wParam) == IDOK) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; ¿©±â¼´Â ȸéÀÇ ¹öÆ°ÀÌ ´·ÈÀ» ¶§ 󸮸¦ ´ã´çÇÕ´Ï´Ù. OK ¹öÆ°ÀÌ ´¸®¸é ´ÙÀ̾ó·Î±×¸¦ Á¾·áÇϴ ó¸®¸¸ ÇÏ°í ÀÖ½À´Ï´Ù. 9. ÀÌÁ¦ ȸ鿡 ´ÙÀ̾ó·Î±×¸¦ ¶ç¿ìµµ·Ï ÄÚµùÇÕ´Ï´Ù. WndProc ÀÇ ¸Þ´º ó¸® ·çƾ¿¡¼ IDM_VIEW_MYDLG ¸í·ÉÀ» ó¸®ÇÏ´Â ·çƾÀ» Ãß°¡ÇÕ´Ï´Ù.(Àüȸ ¸Þ´º °Á ÂüÁ¶) switch (wmId) { case IDM_HELP_ABOUT: DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDOK: SendMessage(hWnd, WM_ACTIVATE, MAKEWPARAM(WA_INACTIVE, 0), (LPARAM)hWnd); SendMessage (hWnd, WM_CLOSE, 0, 0); break; ¢º case IDM_VIEW_MYDLG: ¢º DialogBox(g_hInst, (LPCTSTR)IDD_MYDLG, hWnd, (DLGPROC)MyDlg); ¢º break; default: return DefWindowProc(hWnd, message, wParam, lParam); } case IDM_VIEW_MYDLG:¿¡¼ DialogBox ÇÔ¼ö¸¦ È£ÃâÇÏ¸é¼ ´ÙÀ̾ó·Î±×ÀÇ ID ÀÎ IDD_MYDLG ¿Í ¸Þ½ÃÁö ó¸® ÇÔ¼öÀÎ MyDlg¸¦ °°ÀÌ ³Ñ°Ü ÁÖ°í ÀÖ½À´Ï´Ù. IDD_ABOUTBOX ´ÙÀ̾ó·Î±×¸¦ È£ÃâÇÏ´Â ºÎºÐ°ú ºñ±³ÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. 10. ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í ¸Þ´º¿¡¼ ³» ´ÙÀ̾ó·Î±× º¸±â¸¦ ¼±ÅÃÇØ º¸½Ê½Ã¿À. ![]() |
![]() |
||
![]() |
||
| ||
![]() |
||
![]() |
||
![]() |
||
| ||
![]() |
|
![]() |
|