Практическое руководство. Создание пользовательского элемента управления и просмотр ведущего интерфейса MDI
Следующие процедуры демонстрируют способы создания пользовательского элемента управления .NET Framework, регистрации пользовательского элемента управления в библиотеке классов (а именно в проекте Windows Control Library) и компиляции проекта в сборку. Элемент управления затем можно применять в приложении MFC, использующем классы, производные от CView Class и CWinFormsView Class.
Дополнительные сведения о способе создания пользовательского элемента управления Windows Forms и о разработке библиотеки класса для элемента управления см. в разделе Практическое руководство. Разработка пользовательских элементов управления.
Примечание
В некоторых случаях, элементы управления Windows Forms, такие как сторонние элементы управления Grid, работают не стабильно при размещении в приложении MFC.Рекомендуемый обходной путь — поместить пользовательский элемент управления Windows Forms в приложение библиотеки MFC, а элемент управления третьей стороны Grid внутри пользовательского элемента управления.
Эта процедура предполагает, что проект библиотеки элементов управления Windows Forms был создан под названием WindowsFormsControlLibrary1 как одна процедура в Практическое руководство. Создание пользовательского элемента управления и ведущего приложения в диалоговом окне.
Создание ведущего приложения MFC
Создайте проект приложения MFC.
В меню Файл выберите команду Создать и щелкните Проект. В папке Visual C++ выберите Приложение MFC.
В поле Имя введите MFC02 и измените параметр Решение на Добавить в решение.Нажмите кнопку ОК.
В разделе Мастер приложений MFC примите все параметры по умолчанию и нажмите кнопку Готово. Будет создано приложение MFC с интерфейсом MDI.
Настройте проект на поддержку среды CLR.
В Обозревателе решений щелкните правой кнопкой мыши узел проекта MFC01 и выберите пункт Свойства в контекстном меню. Появится диалоговое окно Страницы свойств.
В разделе Свойства конфигурации выберите Общие. В разделе Значения по умолчанию для проекта задайте для параметра Поддержка среды CLR значение Поддержка среды CLR (/clr).
В разделе Свойства конфигурации разверните C/C++ и щелкните узел Общие. Выберите в поле Формат отладочной информации значение База данных программы (/Zi).
Щелкните узел Создание кода. Установите параметр Включить минимальное перестроение в значение Нет (/Gm-). Установите параметр Основные проверки времени выполнения в значение По умолчанию.
Нажмите кнопку ОК, чтобы применить изменения.
Добавьте в файл stdafx.h следующий код:
#using <System.Windows.Forms.dll>
Добавьте ссылку на элемент управления .NET.
В Обозревателе решений щелкните правой кнопкой мыши узел проекта MFC02 и выберите пункт Ссылки. В окне Страница свойств щелкните Добавить новую ссылку, выберите WindowsFormsControlLibrary1 (на вкладке Проекты) и нажмите кнопку ОК. В результате добавляется ссылка в форме параметра компилятора /FU, которая позволяет скомпилировать программу. Также в каталог проекта MFC02 копируется файл WindowsFormsControlLibrary1.dll, который позволяет запускать программу.
Найдите строку в файле stdafx.h:
#endif // _AFX_NO_AFXCMN_SUPPORT
Добавьте над этой строкой следующие строки:
#include <afxwinforms.h> // MFC Windows Forms support
Внесите изменения в представление класса таким образом, чтобы класс наследовался в CWinFormsView.
В MFC02View.h замените CView на CWinFormsView, чтобы код отобразился следующим образом:
class CMFC02View : public CWinFormsView { };
Если нужно добавить дополнительное представление в приложение MDI, необходимо открыть каждое созданное пользователем представление CWinApp::AddDocTemplate.
Модифицируйте файл MFC02View.cpp, чтобы изменить CView на CWinFormsView в макросе IMPLEMENT_DYNCREATE, сопоставить сообщение и заменить существующий пустой конструктор на нижеуказанный конструктор:
IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView) CMFC02View::CMFC02View(): CWinFormsView(WindowsFormsControlLibrary1::UserControl1::typeid) { } BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView) //leave existing body as is END_MESSAGE_MAP()
Выполните построение и запуск проекта.
В разделе Обозреватель решений нажмите правой кнопкой мыши MFC02 и выберите Установить как запускаемый проект.
В меню Построение выберите Построить решение.
В меню Отладка выберите команду Запуск без отладки.
См. также
Другие ресурсы
Размещение пользовательского элемента управления формы Windows Forms в качестве представления MFC