Шаг 247.
Среда программирования Visual C++.
Реализация STUpload в виде сервера ActiveX-документов
На этом шаге мы изменим приложение STUpload.
На следующих двух шагах мы попробуем создать полноценное MFC-приложение в виде сервера
ActiveX-документов. Мы предоставим некоторые функциональные возможности приложения STUpload пользователям
Internet Explorer - они смогут просматривать файлы документов STUpload, размещенные на
Web-узле.
Проекты STUpload, с которыми Вы работали ранее, не рассчитаны на поддержку сервера ActiveX-документов.
Однако здесь Вы найдете вариант проекта STUpload, созданный с такой поддержкой.
Как Вы помните, подобная возможность добавляется выбором вариантов Full-server и Active document server в окне 3 мастера
MFC AppWizard. Эта версия проекта послужит Вам отправной точкой для создания приложения.
- Просмотр классов сервера ActiveX-документов.
- Откройте скопированный проект. В ClassView Вы увидите, что в этой версии
проекта есть несколько дополнительных классов. Класс CInPlaceFrame представляет из себя окно с документом,
редактируемым "по месту", то есть в контейнере. Класс CSTUploadServerItem обеспечивает контейнеру интерфейс к серверу.
- Дважды щелкните элемент CSTUploadDoc. Обратите внимание, что этот класс является производным от класса COleServerDoc.
Рис.1. Связь классов
Сейчас изменим меню IDR_SRVR_INPLACE и панель инструментов, чтобы обеспечить доступ к командам меню STUpload
из контейнера ActiveX-документов.
- Редактирование меню IDR_SRVR_INPLACE.
- В ResourceView дважды щелкните меню IDR_SRVR_INPLACE. Выберите Edit и нажмите DEL, чтобы удалить это меню.
Подтвердите удаление, щелкнув ОК.
- Дважды щелкните меню IDR_MAINFRAME. В меню Window щелкните Tile Horizontally, чтобы были видны оба меню.
Рис.2. Два меню
- Скопируйте подменю Data меню IDR_MAINFRAME на место подменю Edit меню
IDR_SRVR_INPLACE. Копирование выполняют, перетаскивая мышью нужное подменю при нажатой клавише CTRL.
- Из подменю Data меню IDR_SRVR_INPLACE удалите команду Import. Закройте оба окна редактирования меню.
Рис.3. Результат перетаскивания и удаления
Команда Import удалена, потому что ActiveX-документы приложения STUpload будут применяться только для просмотра и
загрузки в базу данных документов, расположенных на Web-сервере. Создание новых документов через Web не предусмотрено.
- Редактирование панели инструментов IDR_SRVR_INPLACE.
- В ResourceView дважды щелкните панель инструментов IDR_SRVR_INPLACE. Удалите кнопки Cut, Copy и Paste,
переместив их за пределы панели.
- Дважды щелкните панель инструментов IDR_MAINFRAME. В меню Window выберите Tile Horizontally, чтобы были видны оба меню.
- Скопируйте кнопки панели ID_DATA_UPLOAD и ID_DATA_QUERYDATABASE из меню
IDR_MAINFRAME в меню IDR_SRVR_INPLACE и закройте оба окна редактирования.
Рис.4. Результат копирования кнопок
Соберите проект STUpload.
Созданное приложение можно взять здесь (387,5 Кб).
На следующем шаге мы протестируем созданное приложение.
Предыдущий шаг
Содержание
Следующий шаг