MFC 애플리케이션을 빌드하는 작업 시퀀스
다음 표에서는 MFC 애플리케이션을 개발할 때 일반적으로 따를 수 있는 일반적인 순서를 설명합니다.
프레임워크를 사용하여 애플리케이션 빌드 시퀀스
Task | 너 해 | 프레임워크는 |
---|---|---|
기본 애플리케이션을 만듭니다. | MFC 애플리케이션 마법사를 실행합니다. 옵션 페이지에서 원하는 옵션을 지정합니다. 옵션에는 애플리케이션을 COM 구성 요소, 컨테이너 또는 둘 다로 만드는 것이 포함되며, Automation 추가; 및 애플리케이션 데이터베이스를 인식하게 합니다. | MFC 애플리케이션 마법사는 애플리케이션, 문서, 보기 및 프레임 창에 대한 원본 파일을 포함하여 기본 애플리케이션에 대한 파일을 만듭니다. 리소스 파일; 프로젝트 파일; 및 기타 모든 사양에 맞게 조정됩니다. |
사용자 고유의 코드 줄을 추가하지 않고 프레임워크 및 MFC 애플리케이션 마법사에서 제공하는 내용을 확인합니다. | 기본 애플리케이션을 빌드하고 Visual C++에서 실행합니다. | 실행 중인 기본 애플리케이션은 프레임워크에서 많은 표준 파일, 편집, 보기 및 도움말 메뉴 명령을 파생합니다. MDI 애플리케이션의 경우 완벽하게 작동하는 Windows 메뉴도 얻을 수 있으며 프레임워크는 MDI 자식 창의 생성, 정렬 및 소멸을 관리합니다. |
애플리케이션의 사용자 인터페이스를 생성합니다. | Visual C++ 리소스 편집 기를 사용하여 애플리케이션의 사용자 인터페이스를 시각적으로 편집합니다. - 메뉴를 만듭니다. - 액셀러레이터를 정의합니다. - 대화 상자를 만듭니다. - 비트맵, 아이콘 및 커서를 만들고 편집합니다. - MFC 애플리케이션 마법사에서 만든 도구 모음을 편집합니다. - 다른 리소스를 만들고 편집합니다. 대화 상자 편집기에서 대화 상자를 테스트할 수도 있습니다. |
MFC 애플리케이션 마법사에서 만든 기본 리소스 파일은 필요한 많은 리소스를 제공합니다. Visual C++를 사용하면 기존 리소스를 편집하고 새 리소스를 쉽고 시각적으로 추가할 수 있습니다. |
메뉴를 처리기 함수에 매핑합니다. | 클래스 뷰의 속성 창에 있는 이벤트 단추(또는 클래스 마법사의 명령 탭)를 사용하여 메뉴와 액셀러레이터를 코드의 처리기 함수에 연결합니다. | 이러한 도구는 지정한 원본 파일에 메시지 맵 항목 및 빈 함수 템플릿을 삽입하고 많은 수동 코딩 작업을 관리합니다. |
처리기 코드를 작성합니다. | 클래스 뷰를 사용하여 소스 코드 편집기에서 코드로 직접 이동합니다. 처리기 함수에 대한 코드를 입력합니다. 클래스 뷰 사용 및 프로젝트에 코드를 추가하는 마법사에 대한 자세한 내용은 코드 마법사를 사용하여 기능 추가를 참조 하세요. | 클래스 뷰는 편집기를 열고 빈 함수 템플릿으로 스크롤하여 커서를 배치합니다. |
도구 모음 단추를 명령에 매핑합니다. | 단추에 적절한 명령 ID를 할당하여 도구 모음의 각 단추를 메뉴 또는 액셀러레이터 명령에 매핑합니다. | 프레임워크는 도구 모음 단추의 그리기, 사용, 사용 안 함, 검사 및 기타 시각적 측면을 제어합니다. |
처리기 함수를 테스트합니다. | 프로그램을 다시 빌드하고 기본 제공 디버깅 도구를 사용하여 처리기가 제대로 작동하는지 테스트합니다. | 코드를 단계별로 실행하거나 추적하여 처리기가 호출되는 방식을 확인할 수 있습니다. 처리기 코드를 작성한 경우 처리기는 명령을 수행합니다. 프레임워크는 처리되지 않는 메뉴 항목 및 도구 모음 단추를 자동으로 사용하지 않도록 설정합니다. |
대화 상자를 추가 합니다. | 대화 상자 편집기를 사용하여 대화 상자 템플릿 리소스를 디자인합니다. 그런 다음 대화 상자 클래스와 대화 상자를 처리하는 코드를 만듭니다. | 프레임워크는 대화 상자를 관리하고 사용자가 입력한 정보를 쉽게 검색할 수 있도록 합니다. |
대화 상자 데이터를 초기화, 유효성 검사 및 검색합니다. | 대화 상자의 컨트롤을 초기화하고 유효성을 검사하는 방법을 정의할 수도 있습니다. Visual Studio를 사용하여 대화 상자 클래스에 멤버 변수를 추가하고 대화 상자 컨트롤에 매핑합니다. 사용자가 데이터를 입력할 때 각 컨트롤에 적용할 유효성 검사 규칙을 지정합니다. 원하는 경우 사용자 고유의 사용자 지정 유효성 검사를 제공합니다. | 프레임워크는 대화 상자 초기화 및 유효성 검사를 관리합니다. 사용자가 잘못된 정보를 입력하면 프레임워크에 메시지 상자가 표시되고 사용자가 데이터를 다시 입력할 수 있습니다. |
추가 클래스를 만듭니다. | 클래스 뷰를 사용하여 MFC 애플리케이션 마법사에서 자동으로 만든 클래스 이외의 추가 문서, 보기 및 프레임 창 클래스를 만듭니다. 추가 데이터베이스 레코드 집합 클래스, 대화 상자 클래스 등을 만들 수 있습니다. (클래스 뷰를 사용하면 MFC 클래스에서 파생되지 않은 클래스를 만들 수 있습니다.) | 클래스 뷰는 이러한 클래스를 원본 파일에 추가하고 해당 클래스가 처리하는 명령에 대한 연결을 정의하는 데 도움이 됩니다. |
바로 사용할 수 있는 구성 요소를 애플리케이션에 추가합니다. | New Item dialog box 다양한 항목을 추가하는 데 사용합니다. |
이러한 항목은 애플리케이션에 쉽게 통합되고 많은 작업을 절약할 수 있습니다. |
문서 클래스를 구현합니다. | 애플리케이션별 문서 클래스 또는 클래스를 구현합니다. 데이터 구조를 저장할 멤버 변수를 추가합니다. 멤버 함수를 추가하여 데이터에 인터페이스를 제공합니다. | 프레임워크는 문서 데이터 파일과 상호 작용하는 방법을 이미 알고 있습니다. 문서 파일을 열고 닫고, 문서의 데이터를 읽고 쓰고, 다른 사용자 인터페이스를 처리할 수 있습니다. 문서의 데이터를 조작하는 방법에 집중할 수 있습니다. |
열기, 저장 및 다른 이름으로 저장 명령을 구현합니다. | 문서의 Serialize 멤버 함수에 대한 코드를 작성합니다. |
프레임워크는 파일 메뉴에 열기, 저장 및 다른 이름으로 저장 명령에 대한 대화 상자를 표시합니다. 멤버 함수에 지정된 Serialize 데이터 형식을 사용하여 문서를 작성하고 다시 읽습니다. |
뷰 클래스를 구현합니다. | 문서에 해당하는 하나 이상의 뷰 클래스를 구현합니다. 클래스 뷰를 사용하여 사용자 인터페이스에 매핑한 뷰의 멤버 함수를 구현합니다. CListView 및 CTreeView를 포함하여 다양한 CView 파생 클래스를 사용할 수 있습니다. | 프레임워크는 문서와 해당 뷰 간의 관계를 대부분 관리합니다. 보기의 멤버 함수는 보기의 문서에 액세스하여 화면 또는 인쇄된 페이지에서 해당 이미지를 렌더링하고 사용자 편집 명령에 대한 응답으로 문서의 데이터 구조를 업데이트합니다. |
기본 인쇄 기능을 향상시킵니다. | 다중 페이지 인쇄를 지원해야 하는 경우 뷰 멤버 함수를 재정의합니다. | 프레임워크는 파일 메뉴에서 인쇄, 페이지 설정 및 인쇄 미리 보기 명령을 지원합니다. 문서를 여러 페이지로 분리하는 방법을 알려야 합니다. |
스크롤을 추가합니다. | 스크롤을 지원해야 하는 경우 CScrollView에서 뷰 클래스 또는 클래스를 파생합니다. | 보기 창이 너무 작아지면 자동으로 스크롤 막대가 추가됩니다. |
양식 보기를 만듭니다. | 대화 상자 템플릿 리소스에 대한 뷰를 기반으로 하려면 CFormView에서 뷰 클래스 또는 클래스를 파생합니다. | 보기는 대화 상자 템플릿 리소스를 사용하여 컨트롤을 표시합니다. 사용자는 컨트롤에서 보기의 컨트롤로 탭할 수 있습니다. |
데이터베이스 양식을 만듭니다. | 양식 기반 데이터 액세스 애플리케이션을 원하는 경우 CRecordView(ODBC 프로그래밍용)에서 뷰 클래스를 파생합니다. | 보기는 양식 보기처럼 작동하지만 해당 컨트롤은 데이터베이스 테이블을 나타내는 CRecordset 개체의 필드에 연결됩니다. MFC는 컨트롤과 레코드 집합 간에 데이터를 이동합니다. |
간단한 텍스트 편집기를 만듭니다. | 보기를 단순 텍스트 편집기로 만들려면 CEditView 또는 CRichEditView에서 뷰 클래스 또는 클래스를 파생합니다. | 보기는 편집 함수, 클립보드 지원 및 파일 입력/출력을 제공합니다. CRichEditView 는 스타일이 지정된 텍스트를 제공합니다. |
분할자 창을 추가합니다. | 창 분할을 지원하려면 CSplitterWnd 개체를 SDI 프레임 창 또는 MDI 자식 창에 추가하고 창의 OnCreateClient 멤버 함수에 연결합니다. | 프레임워크는 스크롤 막대 옆에 있는 분할 상자 컨트롤을 제공하고 보기를 여러 창으로 분할하는 작업을 관리합니다. 사용자가 창을 분할하는 경우 프레임워크는 추가 뷰 개체를 만들고 문서에 연결합니다. |
애플리케이션을 빌드, 테스트 및 디버그합니다. | Visual C++의 기능을 사용하여 애플리케이션을 빌드, 테스트 및 디버그합니다. | Visual C++를 사용하면 컴파일, 링크 및 기타 옵션을 조정할 수 있습니다. 또한 소스 코드 및 클래스 구조를 찾아볼 수 있습니다. |
참고 항목
OLE 애플리케이션을 만드는 작업 시퀀스
ActiveX 컨트롤을 만드는 작업 시퀀스
데이터베이스 애플리케이션을 만드는 작업 시퀀스
프레임워크를 기반으로 구축