Поделиться через


Образец WinFormIntegration: демонстрация размещения пользовательского элемента управления WinForms в приложении MFC

Обновлен: Ноябрь 2007

В этом образце показано, как разместить пользовательский элемент управления WinForms в качестве диалогового окна или представления в приложении MFC.

Образец состоит из трех библиотек DLL расширения MFC, двух пользовательских элементов управления WinForms и одного главного приложения MFC с интерфейсом MDI.

EXTDLL1. Использует класс CWinFormsView для размещения пользовательского элемента управления WinFormUserControlView1 в виде окна CView в пределах приложения MFC с интерфейсом MDI. Также используется маршрутизация команд для отправки сообщений в пользовательский элемент управления WinForms.

EXTDLL2. Показывает, как разместить пользовательский элемент управления WinForms в виде статического элемента управления в существующем окне CView.

EXTDLL3. Инкапсулирует различные способы размещения пользовательского элемента управления WinForms в диалоговом окне MFC, включая способ с применением классов CDialog и CWinFormsDialog.

WinFormUserControl1. Простой пользовательский элемент управления WinForms, к которому добавлены несколько общих элементов.

WinFormUserControlView1. Пользовательский элемент управления WinForms, который реализует интерфейсы Microsoft::VisualC::MFC::IView и Microsoft::VisualC::MFC::ICommandTarget, чтобы участвовать в маршрутизации команд MFC и передаче уведомлений представления. Это простой текстовый редактор (использующий многострочный элемент управления .NET TextBox), в котором средствами MFC сохраняются и открываются файлы.

MFC04. Это главное приложение MFC с интерфейсом MDI, которое загружает библиотеки DLL расширения MFC, добавляя их в качестве различных шаблонов документов MFC.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца.

  1. Чтобы построить проекты, просто откройте файл MFC04.sln и выберите команду Построить решение из меню Построение.

  2. Чтобы выполнить различные сценарии, запустите приложение и в меню Файл выберите команду Создать. Затем выберите шаблон CView, CFormView или Dialogs.

    1. Шаблон CView открывает представление CWinFormsView с многострочным полем ввода .NET, которое можно редактировать. Также имеется возможность сохранить этот текст в файл и снова загрузить его с помощью команд Save и Open меню MFC. Функции команды Save можно вызвать в пределах WinForms, выбрав кнопку с раскрывающимся списком Save Changes в меню StatusStrip WinForms. Выбор пункта меню MFC CViewCmds->Command1 вызовет обновление текста в StatusStrip, что демонстрирует маршрутизацию команд MFC в размещенный элемент WinForms UserControl.

    2. Шаблон CFormView представляет элемент WinForms UserControl, который аналогичен описанному выше за исключением того, что он размещается в пределах ресурса CFormView. В этом шаблоне показан только код размещения. Функции Save и Open не реализованы.

    3. Шаблон Dialogs является представлением, которое показывает элемент WinForms UserControl, размещаемый в следующих сценариях: в вызываемом модальном окне CDialog, в вызываемом безрежимном окне CDialog, в вызываемом модальном окне CWinFormsDialog и в вызываемом безрежимном окне CWinFormsDialog. В примерах CWinFormsDialog показана обработка прерываний в функциях MFC до уровня событий элементов управления WinForms. В этих примерах также показано, как передавать строки из управляемого кода в собственный код посредством операторов преобразования из CString в System::String^.

Требования

Поддерживаемые операционные системы: Windows Server 2003, Windows XP

См. также

Ссылки

Образцы MFC WinForms