Образец 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 находятся в Интернете.
Построение и запуск образца.
Чтобы построить проекты, просто откройте файл MFC04.sln и выберите команду Построить решение из меню Построение.
Чтобы выполнить различные сценарии, запустите приложение и в меню Файл выберите команду Создать. Затем выберите шаблон CView, CFormView или Dialogs.
Шаблон CView открывает представление CWinFormsView с многострочным полем ввода .NET, которое можно редактировать. Также имеется возможность сохранить этот текст в файл и снова загрузить его с помощью команд Save и Open меню MFC. Функции команды Save можно вызвать в пределах WinForms, выбрав кнопку с раскрывающимся списком Save Changes в меню StatusStrip WinForms. Выбор пункта меню MFC CViewCmds->Command1 вызовет обновление текста в StatusStrip, что демонстрирует маршрутизацию команд MFC в размещенный элемент WinForms UserControl.
Шаблон CFormView представляет элемент WinForms UserControl, который аналогичен описанному выше за исключением того, что он размещается в пределах ресурса CFormView. В этом шаблоне показан только код размещения. Функции Save и Open не реализованы.
Шаблон Dialogs является представлением, которое показывает элемент WinForms UserControl, размещаемый в следующих сценариях: в вызываемом модальном окне CDialog, в вызываемом безрежимном окне CDialog, в вызываемом модальном окне CWinFormsDialog и в вызываемом безрежимном окне CWinFormsDialog. В примерах CWinFormsDialog показана обработка прерываний в функциях MFC до уровня событий элементов управления WinForms. В этих примерах также показано, как передавать строки из управляемого кода в собственный код посредством операторов преобразования из CString в System::String^.
Требования
Поддерживаемые операционные системы: Windows Server 2003, Windows XP