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


Практическое руководство. Создание пользовательского элемента управления и просмотр ведущего интерфейса MDI

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

Следующие процедуры демонстрируют способы создания пользовательского элемента управления .NET Frameworks, регистрации пользовательского элемента управления в библиотеке классов (а именно проект Windows Control Library) и компиляции проекта в сборке. Можно применять элемент управления в приложении библиотеки MFC, а также классы, которые происходят из CView Class и CWinFormsView Class.

Дополнительные сведения о способе создания пользовательского элемента управления Windows Forms и о разработке библиотеки класса для элемента управления см. в разделе Практическое руководство. Разработка пользовательских элементов управления.

ksw1x03b.alert_note(ru-ru,VS.90).gifПримечание.

В некоторых случаях, элементы управления WinForms, такие как элементы управления третьей стороны Grid, работают не стабильно при размещении в приложении библиотеки MFC. Рекомендуемый обходной путь — поместить пользовательский элемент управления Windows Forms в приложение библиотеки MFC, а элемент управления третьей стороны Grid внутри пользовательского элемента управления.

Эта процедура предполагает, что проект библиотеки элементов управления Windows Forms был создан под названием WindowsControlLibrary1 как одна процедура в Практическое руководство. Создание пользовательского элемента управления и ведущего приложения в диалоговом окне.

Создание ведущего приложения MFC

  1. Создайте новый проект приложения MFC.

    В меню Файл выберите команду New и нажмите Проект. В папке Visual C++ выберите Приложение MFC.

    В поле Имя введите MFC02, затем измените значение параметра "Решение" наДобавить в решение.Нажмите кнопку ОК.

    В разделе Мастер приложений MFC примите все параметры по умолчанию и нажмите кнопку Готово. Будет создано приложение MFC с интерфейсом MDI.

  2. Настройте конфигурацию проекта.

    В Обозревателе решений щелкните правой кнопкой мыши узел проекта MFC02 и выберите пункт Свойства в контекстном меню. Появится диалоговое окно Страницы свойств.

    В диалоговом окне Страницы свойств в дереве Свойства конфигурации выберите пункт Общие, затем в разделе Значения по умолчанию для проекта установите для параметра Поддержка Common Language Runtime значение Поддержка CLR-среды (/clr). Нажмите кнопку OК.

  3. Добавьте ссылку на элемент управления .NET.

    В Обозревателе решений щелкните правой кнопкой мыши узел проекта MFC02 и выберите пункт Ссылки. В окне Страница свойств нажмите Добавить новую ссылку, выберите проект WindowsControlLibrary1 (на вкладке Проекты) и нажмите кнопку ОК. В результате добавляется ссылка в форме параметра компилятора /FU, которая позволяет скомпилировать программу. Также в каталог проекта MFC02 копируется файл WindowsControlLibrary1.dll, который позволяет запускать программу.

  4. Найдите строку в файле stdafx.h:

    #endif // _AFX_NO_AFXCMN_SUPPORT 
    

    Добавьте над этой строкой следующие строки:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  5. Внесите изменения в представление класса таким образом, чтобы класс наследовался в CWinFormsView.

    В MFC02View.h замените CView на CWinFormsView, чтобы код отобразился следующим образом:

    class CMFC02View : public CWinFormsView
    {
    };
    

    Если нужно добавить дополнительное представление в приложение MDI, необходимо открыть каждое созданное пользователем представление CWinApp::AddDocTemplate.

  6. Модифицируйте файл MFC02View.cpp, чтобы изменить CView на CWinFormsView в макросе IMPLEMENT_DYNCREATE, сопоставить сообщение и заменить существующий пустой конструктор на нижеуказанный конструктор:

    IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView)
    
    CMFC02View::CMFC02View(): CWinFormsView(WindowsControlLibrary1::UserControl1::typeid) 
    {
    }
    BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView)
    //leave existing body as is
    END_MESSAGE_MAP()
    
  7. Выполните построение и запуск проекта.

    В разделе Обозреватель решений нажмите правой кнопкой мыши MFC02 и выберите Установить как запускаемый проект.

    В меню Построение выберите команду Построить решение.

    В меню Отладка выберите команду Запуск без отладки.

См. также

Другие ресурсы

Размещение пользовательского элемента управления формы Windows Forms в качестве представления MFC