SPRING :: NOTE

[MFC] View, Doc 삭제(Delete) 본문

Development Language/C · C++ · MFC

[MFC] View, Doc 삭제(Delete)

RAYZIE 2016. 10. 11. 17:50
반응형


MFC 프로젝트를 만들고 작업 중, xxxView.cpp(.h)와 xxxDoc.cpp(h)가 쓰지도 않는데 거슬렸다.

다른 프로젝트를 보니 전부 쓰지도 않고 파일 자리를 차지하여 보기에 안좋았다.

View파일과 Doc파일을 없애보겠다.


[AppName].cpp 파일을 열면 InitInstance() 부분에 다음과 같은 정의가 있다.

CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
	IDR_MAINFRAME,
	RUNTIME_CLASS(CToolkitTestDoc),
	RUNTIME_CLASS(CMainFrame),       // main SDI frame window
	RUNTIME_CLASS(CToolkitTestView));
if (!pDocTemplate)
	return FALSE;
AddDocTemplate(pDocTemplate);

전부 삭제하고, 삭제한 부분에 아래와 같이 재정의 해준다.

CMainFrame* pMainFrame = new CMainFrame();
m_pMainWnd = pMainFrame;
pMainFrame->LoadFrame(IDR_MAINFRAME);

그리고 컴파일 해본다.

컴파일이 잘 되면 상관없지만, 다음과 같은 에러가 뜰 경우가 있다.

오류1 error C2248: 'CMainFrame::CMainFrame' : protected 멤버('CMainFrame' 클래스에서 선언)에 액세스할 수 없습니다.

이 경우 MainFrm.h 파일로 이동한다.

이 중

protected: // create from serialization only
	CMainFrame();
	.
	.
	.

이렇게 정의된 부분에 protected:를 Public:으로 바꿔준다.

public: // create from serialization only
	CMainFrame();
	.
	.
	.

오류가 해결되면 아래 공감버튼을 누른다.

반응형
Comments