--- title: "Интерфейс IChooseManager" type: interface api: [api7] tags: [interface, api7, ichoosemanager] sources: - ichoosemanager.html --- *API интерфейсов. Версия 7 > Документ  > Подсветка и выделение объектов * ## Интерфейс IChooseManager Интерфейс менеджера выбора (подсветки) объектов. Иерархия: IDispatch IKompasAPIObject IChooseManager Описание: Интерфейс позволяет осуществлять выбор (подсветку) объектов. Используется при создании отчета по выбранным объектам. Примечание: Интерфейс является дополнительным для интерфейса таблицы отчетов IReport. Интерфейс можно получить посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) и у интерфейса документа 3D с помощью свойства IKompasDocument3D::ChooseManager, а также у дополнительного интерфейса документа 2D с помощью свойства IKompasDocument2D1::ChooseManager. ## Choose - Выделить объект Синтаксис Automation: ``` BOOL Choose(VARIANT Objects); ``` Синтаксис COM: ``` HRESULT Choose (VARIANT Objects, BOOL * Result); Входные параметры: Objects - объект или массив объектов, которые нужно выделить (VARIANT типа VT_DISPATCH или VT_ARRAY VT_DISPATCH). Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: Метод позволяет выделить объект. ## ChooseColor - Цвет выбора Тип данных: long Синтаксис Automation: ``` ChooseColor = Object.ChooseColor( ManagerType ) Получить свойство (* ) Object.ChooseColor( ManagerType ) = ChooseColor Установить свойство (* ) ChooseColor = Object.GetChooseColor( ManagerType ) Получить свойство (**) Object.SetChooseColor( ManagerType, ChooseColor ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_ChooseColor( ManagerType, &ChooseColor ) Получить свойство Object.put_ChooseColor( ManagerType, ChooseColor ) Установить свойство Входные параметры: ManagerType - индекс менеджера подсветки из перечисления ksChooseManagerTypeEnum. Версия КОМПАС v22 ``` ## ChoosenObjects - Получить массив выделенных объектов в виде SAFEARRAY | VT_DISPATCH Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH Синтаксис Automation: ``` ChoosenObjects = Object.ChoosenObjects Получить свойство (* ) ChoosenObjects = Object.GetChoosenObjects() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ChoosenObjects( &ChoosenObjects ) Получить свойство ``` Примечание: 1. Свойство позволяет получать массив выделенных объектов. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH. 2. Свойство доступно только для чтения. ## CurrentManagerType - Получить тип текущего менеджера Тип данных: из перечисления ksChooseManagerTypeEnum Синтаксис Automation: ``` CurrentManagerType = Object.CurrentManagerType Получить свойство (* ) Object.CurrentManagerType = CurrentManagerType Установить свойство (* ) CurrentManagerType = Object.GetCurrentManagerType() Получить свойство (**) Object.SetCurrentManagerType( CurrentManagerType ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_CurrentManagerType( &CurrentManagerType ) Получить свойство Object.put_CurrentManagerType( CurrentManagerType ) Установить свойство ``` ## GetManagerIndex - Получить индекс менеджера по указателю на выбранный объект Синтаксис Automation: ``` ksChooseManagerTypeEnum GetManagerIndex (LPDISPATCH Object); ``` Синтаксис COM: ``` HRESULT GetManagerIndex( IKompasAPIObject * Object, ksChooseManagerTypeEnum * Result ); Входные параметры: Object - указатель на выбранный объект. Возвращаемое значение: тип текущего менеджера из перечисления ksChooseManagerTypeEnum ``` ## IsChoosen - Выделен ли объект Синтаксис Automation: ``` BOOL IsChoosen( LPDISPATCH Object ); ``` Синтаксис COM: ``` HRESULT IsChoosen( IKompasAPIObject * Object, BOOL * Result ); Входные параметры: Objects - объект. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: Метод позволяет определить, выделен ли объект. ## Unchoose - Снять выделение объекта Синтаксис Automation: ``` BOOL Unchoose( VARIANT Objects ); ``` Синтаксис COM: ``` HRESULT Unchoose( VARIANT Objects, BOOL * Result ); Входные параметры: Objects - объект или массив объектов, с которых нужно снять выделение ( VARIANT типа VT_DISPATCH или VT_ARRAY VT_DISPATCH ). Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: Метод позволяет снять выделение объекта. ## UnchooseAll - Снять выделение всех объектов Синтаксис Automation: ``` BOOL UnchooseAll(); ``` Синтаксис COM: ``` HRESULT UnchooseAll( BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: Метод позволяет снять выделение со всех объектов.