Шаг 235.
Среда программирования Visual C++.
Создание сервера ActiveX-документов
На этом шаге мы начнем создавать сервер ActiveX-документов.
В Visual C++ 6.0 создать ActiveX-документ чрезвычайно просто. После установки всех нужных флажков
мастер AppWizard создаст код и ресурсы, позволяющие приложению стать сервером ActiveX-документов.
- Создание приложения-сервера ActiveX-документов.
- В мастере AppWizard создайте новый ЕХЕ-проект по имени MyADSApp. В окне 1
мастера установите флажок Single document.
- В окне 2 мастера примите параметры по умолчанию. В окне 3 выберите Full-server и Active document server (рисунок 1).
Рис.1. Установка параметров составного документа в MFC AppWizard
- В окне 4 выберите Advanced и введите расширение файла ads. Закройте диалоговое окно
Advanced Options.
- Щелкните Finish, а затем - ОК, чтобы завершить создание проекта.
Далее мы создадим простое приложение,
которое отображает текстовую строку в основном окне приложения. Сначала создадим диалоговое окно, в котором
пользователь будет вводить текст для последующего отображения.
- Создание диалогового окна Set Display String.
- Создайте шаблон блока диалога с одним полем ввода (рисунок 2). Присвойте идентификатору диалога имя
IDD_EDITSTRING, а идентификатору поля ввода - IDC_NEWSTRING.
Рис.2. Диалоговое окно Set Display String
- Создайте класс диалога по имени CEditStringDlg.
Рис.3. Создание класса диалога CEditStringDlg
На странице Member Variables мастера
ClassWizard создайте переменную m_newstring категории Value и типа CString.
Рис.4. Создание переменной m_newstring
Далее мы сгенерируем данные приложения (отображаемую строку), добавив переменную-член в класс документа.
Мы также напишем реализацию функции Serialize() для записи и считывания этой переменной-члена в/из файла
ActiveX-документа.
- Создание данных приложения CMyADSApp.
- Добавьте в класс CMyADSAppDoc открытую переменную-член m_strDisplay типа CString.
Рис.5. Добавление переменной-члена m_strDisplay
Измените функцию CMyADSAppDoc::Serialize() для сериализации переменной m_strDisplay, как
показано в следующем коде:
void CMyADSAppDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar << m_strDisplay;
}
else
{
ar >> m_strDisplay;
}
}
На следующем шаге мы добавим в меню и панель инструментов приложения команду Edit String, а также создадим
для нее функцию-обработчик.
Предыдущий шаг
Содержание
Следующий шаг