다음을 통해 공유


WinFormIntegration 샘플: MFC 응용 프로그램에서 WinForms 사용자 정의 컨트롤 호스팅

업데이트: 2007년 11월

이 샘플에서는 WinForm 사용자 정의 컨트롤을 대화 상자나 뷰로서 MFC 응용 프로그램에 호스팅하는 방법을 보여 줍니다.

이 샘플은 WinForms 사용자 정의 컨트롤 두 개 및 주 MFC MDI 응용 프로그램 하나와 같이 세 개의 MFC 확장 DLL로 구성되어 있습니다.

EXTDLL1 - CWinFormsView를 사용하여 MFC MDI 응용 프로그램 내에서 WinFormUserControlView1 사용자 정의 컨트롤을 CView 창으로서 MFC MDI 응용 프로그램 내에서 호스팅합니다. 또한 명령 라우팅을 사용하여 WinForms 사용자 정의 컨트롤에 메시지를 보냅니다.

EXTDLL2 - WinForms 사용자 정의 컨트롤을 기존 CView 창 안에 정적 컨트롤로 호스팅하는 방법을 보여 줍니다.

EXTDLL3 - WinForms 사용자 정의 컨트롤을 MFC 대화 상자 내에 호스팅할 수 있는 다양한 방식을 캡슐화합니다. 여기에는 CDialogCWinFormsDialog를 사용하는 방식이 포함됩니다.

WinFormUserControl1 - 몇 가지 공용 컨트롤이 추가된 간단한 WinForms 사용자 정의 컨트롤입니다.

WinFormUserControlView1 - Microsoft::VisualC::MFC::IViewMicrosoft::VisualC::MFC::ICommandTarget 인터페이스를 구현하여 MFC 명령 라우팅 및 뷰 알림에 참여하는 WinForms 사용자 정의 컨트롤입니다. 이 컨트롤은 여러 줄 .NET TextBox 컨트롤을 사용하는 기본적인 텍스트 편집기로서, 파일을 저장하거나 여는 데 MFC를 사용합니다.

MFC04 - MFC 확장 DLL을 로드하여 여러 가지 MFC 문서 템플릿으로서 추가하는 주 MFC MDI 응용 프로그램입니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

이 샘플을 빌드하고 실행하려면

  1. 프로젝트를 빌드하려면 MFC04.sln을 열고 빌드 메뉴에서 솔루션 빌드를 선택하기만 하면 됩니다.

  2. 다른 시나리오를 실행하려면 응용 프로그램을 실행하고 File 메뉴에서 New를 선택합니다. 그런 다음 CView, CFormView 또는 Dialogs 템플릿을 선택합니다.

    1. CView 템플릿을 선택하면 편집할 수 있는 .NET 여러 줄 편집 상자가 있는 CWinFormsView가 열립니다. MFC Save 및 Open 메뉴 항목을 통해 이 텍스트를 파일로 저장하고 다시 로드할 수도 있습니다. WinForms StatusStrip에서 Save Changes 드롭다운 단추를 선택하면 WinForms 내에서 Save 기능을 호출할 수 있습니다. MFC CViewCmds->Command1 메뉴 항목을 선택하면 StatusStrip의 텍스트가 업데이트되므로 호스팅된 WinForms UserControl로 MFC 명령이 라우팅되는 것을 알 수 있습니다.

    2. CFormView 템플릿은 CFormView 리소스 내에 호스팅된다는 점을 제외하면 위의 WinForms UserControl과 동일합니다. 이 템플릿은 호스팅 코드만 보여 주며, Save 및 Open 기능은 구현되지 않습니다.

    3. Dialogs 템플릿은 다음과 같은 시나리오에서 호스팅되는 WinForms UserControl을 보여 주는 뷰입니다. CDialog에서 호출되는 모달 대화 상자 내에 호스팅, CDialog에서 호출되는 모덜리스 대화 상자 내에 호스팅, CWinFormsDialog에서 호출되는 모달 대화 상자로서 호스팅 및 CWinFormsDialog에서 호출되는 모덜리스 대화 상자로서 호스팅. CWinFormsDialog 예제에서는 MFC 함수를 WinForms 컨트롤 이벤트에 연결하는 방법을 보여 줍니다. 또한 이러한 예제에서는 CString에서 **System::String^**으로 변환하는 연산자를 통해 관리 코드에서 네이티브 코드로 문자열을 전달하는 방법을 보여 줍니다.

요구 사항

지원되는 운영 체제: Windows Server 2003, Windows XP

참고 항목

참조

MFC WinForms 샘플