À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á |
---|
Á¦¸ñ | [MFC] Doc,View°¡ ¾ø´Â SDI 1998/08/06 (14:02) |
À̸§ | swindler |
¹øÈ£ | 61 |
Á¶È¸ | 393 |
º»¹® |
Document-View°¡ ¾ø´Â SDI´Â CFrameWnd¿¡¼ ÆÄ»ýµÈ Ŭ·¡½ºÀÇ °´Ã¼ÀÎ À©µµ¿ì Çϳª¸¸À» °®´Â´Ù. CMainFrame, CApp¿Ü¿¡ ÇÊ¿äÇÑ ¿ä¼Ò´Â ´ÙÀ½°ú °°´Ù. Main Menu : °æ¿ì¿¡ µû¶ó¼´Â MenuÁ¶Â÷ ¾øÀ»¼öµµ ÀÖ´Ù. Icon : Ž»ö±â¿¡¼ º¸°Å³ª ÃÖ¼Òȵɶ§ À¯¿ëÇÏ´Ù. Window Close Message Command Handler : ´ëºÎºÐÀÇ ¾îÇø®ÄÉÀ̼ÇÀº ¸ÞÀÎ À©µµ¿ì°¡ ´ÝÈ÷°Ô µÉ¶§ ÀÏ·ÃÀÇ Ã³¸®°úÁ¤À» ÇÊ¿ä·Î ÇÑ´Ù. »ç¿ëÀÚ°¡ À©µµ¿ì¸¦ ´ÝÀ»¶§, ¹ß»ýÇÏ´Â WM_CLOSE¿Í »ç¿ëÀÚ°¡ À©µµ¿ìÁ Á¾·áÇÒ¶§ À©µµ¿ì°¡ ½ÇÇàÁßÀÎ ¾îÇø®ÄÉÀ̼ǿ¡ º¸³»´Â WM_QUERYENDSESSION ¸Þ½ÃÁö¿¡ ´ëÇÑ Ã³¸®°úÁ¤À» Æ÷ÇÔÇÏ´Â °ÍÀÌ ÁÁ´Ù. PreCompile Header : StdAfx.h, cpp Åø¹Ù¿Í »óŹ٠InitInstance() ÇÔ¼ö´Â ¸ÞÀÎ ÇÁ·¹ÀÓ À©µµ¿ì¸¦ »ý¼ºÇÏ°í À©µµ¿ì¸¦ ȸ鿡 Ãâ·ÂÇÑ´Ù. CFrameWnd::LoadFrame()ÇÔ¼ö´Â ³»ºÎÀûÀ¸·Î Create()¸¦ È£ÃâÇÏ¿© À©µµ¸¦ »ý¼ºÇÏ°í ÆĶó¸ÞÅÍÀÎ IDR_MAINFRAME¿¡ ÀÇÇØ ½Äº°µÇ´Â ¸Þ´º, ¾ÆÀÌÄÜ, °¡¼ÓÅ°¸¦ ·ÎµåÇÏ°í, ¹®ÀÚ¿ Å×ÀÌºí¿¡¼ ¾îÇø®ÄÉÀ̼ÇÀÇ Á¦¸ñ ¹®ÀÚ¿À» ¾ò´Â´Ù. CMainFrame* pMainFrame=new CMainFrame; if(!pMainFrame->LoadFrame(IDR_MAINFRAME)) return FALSE; m_pMainWnd=pMainFrame; m_pMainWnd->ShowWindow(m_nCmdShow); m_pMainWnd->UpdateWindow(); return TRUE; CMainFrame Class¿¡¼ º¯°æµÈ »çÇ×Àº µ¿ÀûÀÎ »ý¼ºÀÌ ÇÊ¿ä ¾øÀ¸¹Ç·Î IDECLARE_DYNCREATE¸ÅÅ©·Î ´ë½Å DECLARE_DYNAMIC ¸ÅÅ©·Î¸¦ IMPLEMENT_DYNCREATE¸ÅÅ©·Î ´ë½Å IMPLEMENT_DYNAMIC¸ÅÅ©·Î¸¦ »ç¿ëÇÑ´Ù. ¶ÇÇÑ CMainFrame Ŭ·¡½º °´Ã¼¸¦ new ¿¬»êÀÚ¿¡ ÀÇÇØ ¸í½ÃÀûÀ¸·Î »ý¼ºÇϹǷΠprotected¿¡¼ publicÀ¸·Î º¯°æÇÏ°í ClassWizard¸¦ ÀÌ¿ëÇÏ¿© WM_PAINT, WM_CLOSE, WM_QUERYENDSESSION¸Þ½ÃÁö¸¦ Ãß°¡ÇÑ´Ù. void CMainFrame::OnPaint() { CPaintDC dc(this); dc.TextOut(); } void CMainFrame::OnClose() { if(AfxMessageBox("Ok?",MB_YESNO)==IDYES){ CFrameWnd::OnClose(); } BOOL CMainFrame::OnQueryEndSession() { if(AfxMessageBox("Ok?"),MB_YESNO)==IDYES)[ return TRUE; } return FALSE; } |