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