Share via


MFC 프로그램 또는 컨트롤 소스 및 헤더 파일

다음은 Visual Studio에서 MFC 프로젝트를 만들 때 사용자가 선택하는 옵션에 따라 만들어지는 파일입니다.예를 들어 대화 상자를 기반으로 하는 프로젝트 또는 클래스를 만드는 경우에만 Projnamedlg.cpp 및 Projnamedlg.h 파일이 프로젝트에 포함됩니다.

이 파일들은 모두 Projname 디렉터리에 저장되며 솔루션 탐색기의 헤더 파일(.h 파일) 폴더 또는 소스 파일(.cpp 파일) 폴더 중 하나에 들어 있습니다.

파일 이름

설명

Projname.h

프로그램 또는 DLL을 위한 주 포함 파일.다른 헤더 파일을 위한 모든 전역 기호와 #include 지시문이 들어 있습니다.CWinApp에서 CPrjnameApp 클래스를 파생시키고 InitInstance 멤버 함수를 선언합니다.컨트롤의 경우 CPrjnameApp 클래스는 COleControlModule에서 파생됩니다.

Projname.cpp

주 프로그램 소스 파일.CWinApp에서 파생된 CPrjnameApp 클래스의 한 개체를 만들고 InitInstance 멤버 함수를 재정의합니다.

실행 파일의 경우 CPrjnameApp::InitInstance는 여러 가지 작업을 수행합니다.문서와 뷰 사이의 연결 역할을 하는 문서 템플릿을 등록하고, 메인프레임 창을 만들며, 빈 문서를 만듭니다. 또는 응용 프로그램에 대한 명령줄 인수로 지정된 문서를 엽니다.

DLL 및 ActiveX(이전의 OLE) 컨트롤의 경우 CProjNameApp::InitInstance는 COleObjectFactory::RegisterAll을 호출하여 컨트롤의 개체 팩터리를 OLE와 함께 등록하고 AfxOLEInit을 호출합니다.그 외에 멤버 함수인 CProjNameApp::ExitInstance는 AfxOleTerm을 호출하고 메모리에서 컨트롤을 언로드하는 데 사용됩니다.

또한 이 파일은 DllRegisterServerDllUnregisterServer 함수를 구현하여 Windows 등록 데이터베이스에 컨트롤을 등록하거나 등록을 취소합니다.

Projnamectrl.h, Projnamectrl.cpp

CProjnameCtrl 클래스를 선언하고 구현합니다.CProjnameCtrldms COleControl에서 파생되며, 컨트롤 초기화, 그리기 및 serialize(로드 및 저장)를 수행하는 일부 멤버 함수의 기초 구현이 정의됩니다.메시지, 이벤트 및 디스패치 맵도 정의됩니다.

Projnamedlg.cpp, Projnamedlg.h

대화 상자를 기반으로 하는 응용 프로그램을 선택한 경우 만들어집니다.이 파일은 CProjnameDlg라는 이름의 대화 상자 클래스를 파생하여 구현하고, 대화 상자를 초기화하는 기초 멤버 함수를 포함하며, 대화 상자 데이터 교환(DDX)을 수행합니다.정보 대화 상자 클래스도 Projname.cpp 대신 이 파일에 포함됩니다.

Dlgproxy.cpp, Dlgproxy.h

대화 상자를 기반으로 하는 프로그램에서 주 대화 상자를 위한 프로젝트의 자동화 프록시 클래스용 구현 파일 및 헤더 파일.이것은 자동화 지원이 선택된 경우에만 사용됩니다.

Projnamedoc.cpp, Projnamedoc.h

CProjnameDoc라는 이름의 문서 클래스를 파생하여 구현하며, 문서를 초기화하고, serialize(저장 및 로드)하며 디버깅 진단을 구현하는 기초 멤버 함수를 포함합니다.

Projnameset.h/.cpp

데이터베이스를 지원하고 레코드 집합 클래스를 포함하는 프로그램을 만드는 경우 만들어집니다.

Projnameview.cpp, Projnameview.h

문서 데이터를 화면에 표시하고 인쇄하는 데 사용되는 CProjnameView라는 뷰 클래스를 파생하여 구현합니다.CProjnameView 클래스는 다음 MFC 클래스 중 하나에서 파생됩니다.

프로젝트의 뷰 클래스는 뷰를 그리고, 디버깅 진단을 구현하는 기초 멤버 함수를 포함합니다.인쇄 지원을 활성화하면 인쇄, 인쇄 설정, 인쇄 미리 보기 명령 메시지에 메시지 맵 항목이 추가됩니다.이 항목들은 기본 뷰 클래스의 해당 멤버 함수를 호출합니다.

ProjnamePropPage.h, ProjnamePropPage.cpp

CProjnamePropPage 클래스를 선언하고 구현합니다.CProjnamePropPage는 COlePropertyPage에서 파생되며, 데이터 교환 및 유효성 검사를 구현하는 기초 멤버 함수인 DoDataExchange가 제공됩니다.

IPframe.cpp, IPframe.h

응용 프로그램 마법사의 자동화 옵션 페이지(6단계 중 3단계)에서 미니 서버 또는 풀 서버 옵션을 선택한 경우 만들어집니다.이 파일은 서버가 컨테이너 프로그램에 의해 그 자리에서 활성화될 때 사용되는 CinPlaceFrame이라는 현재 위치의 프레임 창 클래스를 파생하여 구현합니다.

Mainfrm.cpp, Mainfrm.h

CFrameWnd(SDI 응용 프로그램의 경우) 또는 CMDIFrameWnd(MDI 응용 프로그램의 경우)에서 CMainFrame 클래스를 파생합니다.CMainFrame 클래스는 응용 프로그램 마법사의 응용 프로그램 옵션 페이지(6단계 중 4단계)에서 해당 옵션을 선택한 경우 도구 모음 단추와 상태 표시줄 만들기를 처리합니다.CMainFrame 사용에 대한 자세한 내용은 응용 프로그램 마법사로 만든 프레임 창 클래스를 참조하십시오.

Childfrm.cpp, Childfrm.h

CMDIChildWnd에서 CChildFrame 클래스를 파생합니다.CChildFrame 클래스는 MDI 문서 프레임 창에 사용됩니다.이 파일은 항상 MDI 옵션을 선택한 경우에만 만들어집니다.

참고 항목

참조

ATL 프로그램 또는 컨트롤 소스 및 헤더 파일

CLR 프로젝트용 파일

개념

Visual C++ 프로젝트용으로 만들어지는 파일 형식