Справочник по компонентам Delphi. Часть 3 - Меню OLE

ОГЛАВЛЕНИЕ

Меню OLE

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

 function GetObjectMenultemCount: Integer; function GetObjectMenuItem(Index: Integer): string; 

Первая функция возвращает число пунктов в подменю, а вторая — имя за­данного пункта. Например, при вставке документа русской версии Microsoft Word первыми двумя будут "Редактировать" и "Открыть". Последними двумя пунктами в добавляемом меню всегда являются разделитель и пункт "Convert...", служащий для преобразования типа объекта OLE. Вы можете определить контекст помощи, предназначенный для этого диалога:

(Рb) property ConvertDlgHelp: THelpContext;

Вызвав функцию GetObjectMenuItem с параметром -1, можно получить имя самого подменю, например, "Paintbrush Picture Object" или "Документ Word".

Действия сервера, связанные с нужным пунктом меню, можно инициировать из программы путем вызова метода:

 procedure ObjectMenuAction(Index: Integer); 

Подменю становится доступным при получении фокуса компонентом TOLEContainer и блокируется при его утере. Также устанавливает состояние меню метод:

procedure ActivateObjMenuItem(Activate: Boolean);   Форма и ее свойства