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


Меню и ресурсы (OLE)

Эта группа статей объясняет использование меню и ресурсов в приложениях документов OLE MFC.

Визуальное редактирование OLE устанавливает дополнительные требования к меню и другим ресурсам, предоставляемым приложениями документов OLE, так как существует ряд режимов, в которых можно запускать и использовать приложения контейнера и сервера (компонента). Например, полносерверное приложение может работать в любом из следующих трех режимов:

  • Автономный.

  • Вместо этого для редактирования элемента в контексте контейнера.

  • Откройте элемент за пределами контекста контейнера, часто в отдельном окне.

Для этого требуется три отдельных макета меню, по одному для каждого возможного режима приложения. Таблицы акселератора также необходимы для каждого нового режима. Приложение-контейнер может или не поддерживает активацию на месте; Если это так, он нуждается в новой структуре меню и связанных таблицах акселераторов.

Для активации на месте требуется, чтобы приложения контейнера и сервера согласовывались для пространства меню, панели инструментов и строки состояния. Все ресурсы должны быть разработаны с учетом этого. В статье "Меню и ресурсы: слияние меню" подробно рассматривается этот раздел.

Из-за этих проблем приложения OLE-документов, созданные с помощью мастера приложений, могут иметь до четырех отдельных меню и ресурсов таблиц акселератора. Они используются по следующим причинам:

Имя ресурса Использование
IDR_MAINFRAME Используется в приложении MDI, если файл не открыт или в приложении SDI независимо от открытых файлов. Это стандартное меню, используемое в приложениях, отличных от OLE.
<ТИП IDR_project> Используется в приложении MDI, если файлы открыты. Используется при выполнении автономного приложения. Это стандартное меню, используемое в приложениях, отличных от OLE.
<TYPE_SRVR_IP IDR_project> Используется сервером или контейнером при открытии объекта.
<TYPE_SRVR_EМБ IDR_проекта> Используется серверным приложением, если объект открыт без использования активации на месте.

Каждое из этих имен ресурсов представляет меню и, как правило, таблицу акселератора. Аналогичную схему следует использовать в приложениях MFC, которые не создаются с помощью мастера приложений.

В следующих статьях рассматриваются темы, связанные с контейнерами, серверами и слиянием меню, необходимыми для реализации активации на месте:

См. также

OLE