---
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    - в случае неудачи.
```
Примечание:
Метод позволяет снять выделение со всех объектов.
