단일 문서 인터페이스 (SDI) 및 다중 문서 인터페이스(MDI) 응용 CformView 클래스에서 사용하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 98598 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

참고 Microsoft Visual C++ .NET (2002) Microsoft .NET Framework에서 제공하는 관리되는 코드 모델과 관리되지 않는 네이티브 Microsoft Windows 코드 모델을 모두 지원합니다. 이 문서에 나와 있는 정보는 관리되지 않는 Visual C++ 코드에만 적용됩니다.

참고 Visual C++ 2005 Microsoft .NET Framework에서 제공하는 관리되는 코드 모델과 관리되지 않는 네이티브 Microsoft Windows 코드 모델을 모두 지원합니다.

요약

CformView 클래스 대화 상자 템플릿을 기반으로 보기 컨트롤을 배치하려면 편리한 방법을 제공합니다. 한 CformView 사용하는 일반적인 절차는 클래스에 대한 설명서에 설명된 및 Microsoft Foundation 클래스 (MFC) 버전 2.x 및 위에 제공된 VIEWEX 및 CHKBOOK 샘플은 응용 프로그램에서 나와 있습니다. 그러나 이러한 응용 프로그램은 폼의 초기 크기를 같게 프레임 창의 초기 크기를 만드는 보여 수행할지 않습니다.

다음 절에서는 단일 문서 인터페이스 (SDI) 또는 폼 주위로 초기 프레임 창 크기 조정, 프레임, 스타일 변경, 양식에서 단추를 사용하여 MDI 문서를 닫는 CformView를 기반으로 다중 문서 인터페이스(MDI) 응용 만드는 지원하는 데 필요한 단계를 설명합니다.

추가 정보

다음 단계를 MFC 응용 프로그램 마법사에서 만드는 방법을 설명하는 기본 보기로, CFormView 사용하여 응용 프로그램:
  1. 응용 프로그램 마법사를, SDI 또는 MDI 응용 프로그램을 생성할 수 있습니다. 이 대화 상자 템플릿에 프로젝트의 리소스 파일에 대한 올바른 스타일은 삽입합니다.

    Visual Studio 6.0:

    단계에서 해당 응용 프로그램 중 6 뷰 클래스를 선택하십시오. 기본 클래스 콤보 상자에서 기본 클래스로 CformView 지정하려면 CformView 선택하십시오.

    Visual Studio .NET 또는 Visual Studio 2005:

    해당 응용 프로그램 마법사 1 단계에서 생성된 클래스 선택하십시오. 기본 클래스 콤보 상자에서 기본 클래스로 CformView 지정하려면 CformView 선택하십시오.
  2. OnUpdate() 멤버 함수를 재정의하여 및 멤버 변수를 현재 문서의 데이터 업데이트 및 대화 상자 데이터 수행하려면 CformView 설명서에서 설명하는 대로 UpdateData() 호출하여 교환 (DDX).

    참고: UpdateData 가상 않으며 기본 클래스를 호출하기 있는 DoDataExchange 통해 표준 다형성이라고 합니다 파생된 클래스를 확인합니다. 호출하려면 CformView 설명서를 상태 UpdateData를 재정의합니다.
  3. 양식 보기에 초기 크기를 설정하려는 경우 OnInitialUpdate() 함수를 재정의하십시오. 아래 텍스트를 SDI 또는 MDI 응용 프로그램에서 약간 다릅니다. 이 단계에 대한 추가 정보를 제공합니다.

주 SDI 프레임 주변에 있는 CformView 크기 변경

App Studio에서 디자인된 양식에 대한 적절한 크기로 뷰 클래스로 CformView 사용하는)은 SDI 응용 프로그램의 주 프레임 크기를 변경하려면 다음과 같이 CformView에서 파생된 클래스에 OnInitialUpdate() 함수를 재정의하여:
      void CMyFormView::OnInitialUpdate()
      {
         CFormView::OnInitialUpdate();
         GetParentFrame()->RecalcLayout();
         ResizeParentToFit(); // default argument is TRUE
      }
				
, ResizeParentToFit() 함수를 사용자가 응용 프로그램의 주 프레임 크기를 변경하면 크기 변경 양식을 금지하지 않습니다 (스크롤 막대가 자동으로 필요한 경우 추가됩니다). 폼 보기의 부모 프레임 창의 스타일을 수정하려면 의해 응용 프로그램 마법사에서 생성된 CMainFrame 클래스는 PreCreateWindow() 함수를 재정의할 수 있습니다. 예를 들어, WS_THICKFRAME 스타일을 제거하고 사용자가 창의 크기를 변경할 수 없도록 하려면 MAINFRM.H PreCreateWindow() 선언하고 MAINFRM.CPP 위해 다음 코드를 추가하여:
      BOOL CMainFrame::PreCreateWindow(CREATESTRUCT &cs)
      {
         cs.style &= ~WS_THICKFRAME;
         return CFrameWnd::PreCreateWindow(cs);
      }
				

MDI 자식 프레임 주변에 있는 CformView 크기 변경

MDI 자식 프레임 크기를 변경하는 프로세스를 위에서 설명한 대로 SDI 응용 프로그램의 주 프레임 크기를 변경하면 비슷합니다. 그러나 RecalcLayout() 호출이 필요하지 않습니다.

폼 보기는 주위의 MDI 자식 프레임 크기를 변경하려면 다음과 같이 CformView에서 파생된 클래스에 OnInitialUpdate() 함수를 재정의하여:
      void CMDIFormView::OnInitialUpdate()
      {
         CFormView::OnInitialUpdate();
         ResizeParentToFit(); // Default argument is TRUE.
      }
				
동일한 결과를 본질적으로 응용 ResizeParentToFit() 함수에 기본 인수를 재정의하는 경우 위에서 설명한 대로 SDI 응용 프로그램의 경우 같이 발생할. 또한 자식 창을 전체 화면 또는 바깥쪽 MDI 주 프레임에 대해 너무 클 수 있습니다.

예를 들어, 사용자가 창의 크기를 변경할 수 있도록 WS_THICKFRAME 스타일 제거 MDI 자식 프레임 스타일을 변경하려면 MDI 자식 창 클래스를 파생시키고 SDI 위의 예제와 같이 PreCreateWindow 함수를 재정의하십시오.

단추 가진 MDI 폼 닫기

문서가 닫히기 폼에서 단추를 만들려면 BN_CLICKED 메시지에 대한 메시지 처리기를 CformView 클래스에 추가합니다. 기본 IDOK 또는 IDCANCEL 식별자를 CformView에서 단추가 있어야 합니다. 다음 경우 메시지 맵 및 단추에 대한 잘못된 함수 잘못된 항목이 만들어집니다.

메시지 처리기가 준비되어 일단 파일 닫기 명령을 시뮬레이트할 수 다음 코드 사용하여 메뉴:
      void CMyForm::OnClickedButton1()
      {
         PostMessage(WM_COMMAND, ID_FILE_CLOSE);
      }
				
양식을 닫으려면 이 방법은 문서와 연결된 IsModified() 멤버 함수가 TRUE를 반환하는 경우 파일을 저장할 것인지 묻는.

속성

기술 자료: 98598 - 마지막 검토: 2006년 1월 5일 목요일 - 수정: 4.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Foundation Class Library 4.2?을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 서비스 팩 5
    • Microsoft Visual C++ .NET 2003 Standard Edition
    • Microsoft Visual C++ .NET 2002 Standard Edition
    • Microsoft Visual C++ 2005 Express Edition
키워드:?
kbmt kbdocview kbhowto kbmdi kbuidesign KB98598 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com