2015-01-22 2 views
0

MFC 응용 프로그램에 보조 창을 추가하려고합니다.MFC 응용 프로그램의 보조 창

헤더 : 이것은 내가 메인 윈도우를 표시하기위한 쓴 것입니다

class CMyApp : public CWinApp 
{ 
public: 
    virtual BOOL InitInstance(); 

}; 

class CMainWindow : public CFrameWnd 
{ 
public: 
    CMainWindow (char *p_mchar); 
protected: 
    afx_msg void OnPaint(); 
    DECLARE_MESSAGE_MAP(); 
}; 

소스 파일 :

#include <afxwin.h> 
#include <afxmt.h> 
#include "mfc0.h" 
#include <string.h> 

CMyApp myApp; 

BOOL CMyApp::InitInstance() 
{ 
    m_pMainWnd = new CMainWindow("Test 1"); 
    m_pMainWnd->ShowWindow (m_nCmdShow); 
    m_pMainWnd->UpdateWindow(); 
    return TRUE; 
} 

BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd) 
    ON_WM_PAINT() 
END_MESSAGE_MAP() 

CMainWindow::CMainWindow (char *p_mchar) 
{ 
    Create (NULL, L"mfc0"); 
} 

void CMainWindow::OnPaint() 
{ 
    CPaintDC dc (this); 
    CMainWindow* hwnd = this; 
} 

내가 다른를 CFrameWnd를 추가하면 갈 수있는 방법이라고 생각하지만, 내가 할 수있는 ' 응용 프로그램에서 해당 창을 표시하는 방법을 알아보십시오. m_pMainWnd를 두 번 사용할 수 없습니다. 간단한 해결책이 있어야하지만 여기서는 조금 잃어 버렸습니다.

답변

1

두 번째 창에서 페인팅을하려면 다른 CFrameWnd를 만드는 것이 좋습니다. m_pSecondWindow와 같은 멤버 변수를 CWinApp 파생 클래스에 추가하기 만하면됩니다. 두 번째 창의 컨트롤을 원한다면 모덜리스 대화 상자를 사용하는 것이 더 좋습니다.

+0

고마워요! "CSecondWindow * m_pSecondWnd;"를 추가하여이 작업을 얻었습니다. –

관련 문제