---
title: "Интерфейс ISelectionManager"
type: interface
api: [api7]
tags: [interface, api7, iselectionmanager]
sources:
  - iselectionmanager.html
---

*API интерфейсов. Версия 7 > Документ  > Подсветка и выделение объектов *


## Интерфейс ISelectionManager

Интерфейс менеджера выделенных объектов.
Иерархия:
IDispatch
IKompasAPIObject
ISelectionManager
Описание:
Интерфейс позволяет осуществлять выделение объектов.
Примечание:
Интерфейс можно получить у интерфейса документа 3D с помощью свойства IKompasDocument3D::SelectionManager и у дополнительного интерфейса документа 2D с помощью свойства IKompasDocument2D1::SelectionManager.


## IsSelected - Выделен ли объект

Синтаксис Automation:
```
BOOL IsSelected( LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT IsSelected( IKompasAPIObject * Object,
BOOL * Result );
Входные параметры:
Objects    - объект.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет определить, выделен ли объект.


## Select - Выделить объект

Синтаксис Automation:
```
BOOL Select( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT Select( VARIANT Objects,
BOOL * Result );
Входные параметры:
Objects    - объект или массив объектов, которые нужно выделить ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет выделить объект.


## SelectedObjects - Получить массив выделенных объектов в виде SAFEARRAY | VT_DISPATCH

Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH
Синтаксис Automation:
```
SelectedObjects = Object.SelectedObjects    Получить свойство (* )
SelectedObjects = Object.GetSelectedObjects()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SelectedObjects( &SelectedObjects )    Получить свойство
```
Примечание:
1. Свойство позволяет получать массив выделенных объектов. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
2. Свойство доступно только для чтения.


## Unselect - Снять выделение объекта

Синтаксис Automation:
```
BOOL Unselect( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT Unselect( VARIANT Objects,
BOOL * Result );
Входные параметры:
Objects    - объект или массив объектов, с которых нужно снять выделение ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет снять выделение объекта.


## UnselectAll - Снять выделение всех объектов

Синтаксис Automation:
```
BOOL UnselectAll();
```
Синтаксис COM:
```
HRESULT UnselectAll( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет снять выделение со всех объектов.
