Меню и ресурсы. Добавление сервера
В данной статье описываются изменения, которые необходимо делать в меню и другим ресурсам в приложении компонента сервера визуального редактирования ().Серверное приложение требует много добавлений к структуре меню и другим ресурсам, поскольку оно может быть запущен одним из 3 режимов: в изолированном режиме, внедренное или на месте.Как описано в статье меню и ресурсы (OLE), максимум 4 наборов меню.Все 4 используются для приложения полного сервера MDI, а только 3 используются для miniserver.Мастер приложений создается структура меню требуемая для типа сервера.Некоторые настройки может быть не требуется.
Если не использовать мастер приложения, может понадобиться просмотреть HIERSVR.RC, скрипт ресурса для примера приложения GlobalUnlock MFC увидеть, как эти изменения реализуются.
Разделы покрытые в этой статье.
Добавление меню сервера
Добавление таблицы сочетаний клавиш
Добавление Miniserver
Добавление меню сервера
Приложения компонента сервера (), должны быть добавлены в редактирование ресурсов меню поддержки OLE визуально.Используемые меню при запуске приложения в изолированном режиме не следует изменять, но необходимо добавить 2 новых ресурса меню перед построением приложения: одно для поддержки встроенной активации и одно для поддержки сервера полностью открыто.Оба ресурса меню, используемые by приложения полных и miniserver.
Для поддержки встроенной активации необходимо создать ресурс меню, очень похож на ресурс меню, выполняется в изолированном режиме.Разница в этом меню, что элементы файла и окна (и все остальные пункты меню, в которых описывается приложением, а не данные) отсутствуют.Приложение-контейнер значений эти пункты меню.Дополнительные сведения и пример on, этот метод меню-объединя, см. в статье Меню и ресурсы. Слияние меню.
Для поддержки полностью открытую активацию, необходимо создать ресурс меню почти идентичный к ресурсу меню, выполняется в изолированном режиме.Единственное изменение в этот ресурс меню, что некоторые элементы reworded, чтобы отразить факт, что сервер работает в элементе внедренном в составном документе.
В дополнение к изменениям, перечисленным в этой статье, файл ресурсов необходимо включить AFXOLESV.RC, необходимые для реализации библиотеки Microsoft Foundation Class.Этот файл расположен в подкаталоге MFC\Include.
Добавление серверного приложения в таблице сочетаний клавиш
2 Новых ресурсов в таблице сочетаний клавиш, необходимо добавить к серверным приложениям. они соответствуют непосредственно к новым, описанным ранее ресурсам меню.Первая таблица сочетаний клавиш используется, если серверное приложение активированы на месте.Она состоит из всех записей в таблице сочетаний клавиш представления, за исключением тех, связанной с меню файла и окна.
Вторая таблица почти точную копию таблицы сочетаний клавиш представления.Любые изменения, внесенные различий в открытом меню параллельных полностью упомянутом в Добавление меню сервера.
Пример этих изменений таблицы сочетаний клавиш, сравните таблицы сочетания IDR_HIERSVRTYPE_SRVR_IP и IDR_HIERSVRTYPE_SRVR_EMB с IDR_MAINFRAME в файле HIERSVR.RC, включенного в образце MFC GlobalUnlock OLE.Сочетания клавиш файла и окна отсутствуют из таблицы на месте и точное копирование их в внедренной таблице.
Добавление таблицы строки для серверных приложений
Только одно добавление таблицы строки должны быть в серверном приложении — строке для указания, что ЯВЛЯЕТСЯ инициализация завершилась с ошибкой.В качестве примера ниже запись строка-таблицы мастер приложений, дает следующий результат.
Идентификатор |
Строка. |
---|---|
IDP_OLE_INIT_FAILED |
Не удалось выполнить инициализацию OLE.Убедитесь в том, что используются правильные версии библиотек OLE. |
Добавление Miniserver
Одни и те же сложения применяются для miniservers например, перечисленные выше полные серверы.Поскольку miniserver не может быть выполнена в изолированном режиме, ее главном меню намного меньше.Главное меню, созданный мастером приложений имеет только меню Файл, содержащий только выходные данные элементов и собирается.Меню и сочетания клавиш для miniservers внедренные и на месте такие же, как у всех серверов.