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

*API интерфейсов. Версия 7 > Приложение > Работа с Панелью свойств  > Интерфейс IPropertyControl  > IPropertyControl - свойства *


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

![IPropertyMultiButton](../resources/images_ipropertymultibutton.jpg)

Интерфейс элемента управления Панели свойств Набор кнопок.
| |
| --- |
Элемент панели свойств
IKompasAPIObject
IPropertyControl
IPropertyMultiButton
Примечание:
1. Элемент управления состоит из набора кнопок определенного типа из перечисления ButtonTypeEnum.
2. Данный интерфейс можно получить через интерфейс коллекции элементов управления панели свойств IPropertyControls.
3. При нажатии на одну из кнопок набора вызывается событие ksPropertyManagerNotify::ControlCommand.
4. Для корректного отображения строки подсказки конкретной кнопки, задаваемой при помощи свойств ButtonHint или ButtonTips, необходимо задать строку подсказки для набора кнопок. Если текст подсказки набора не нужен или не имеет значения, эта строка может состоять, например, из одного пробела.


## AddButton - Добавить кнопку

Синтаксис Automation:
```
void AddButton (long btnID, const VARIANT& bmp, long insertAt);
```
Синтаксис COM:
```
HRESULT AddButton ([in] long btnID, [in] VARIANT bmp, [in, defaultvalue (-1)] long insertAt);
Входные параметры:
btnID    - идентификатор добавляемой кнопки,
bmp    - идентификатор значка в файле ресурсов (тип данных long) или полный путь к bmp-файлу значка (тип данных BSTR),
insertAt    - индекс кнопки, перед которой нужно вставить добавляемую (-1 - в конец).
```
Примечание:
Если значок задается в виде идентификатора, то до этого должен быть задан dll-модуль, в ресурсах которого лежит этот значок. Если кнопка с заданным идентификатором уже есть в списке, то ничего добавляться не будет.


## ButtonChecked - Нажатие кнопки

Тип данных: BOOL.
Синтаксис Automation:
```
ButtonChecked = iObject.ButtonChecked (btnID)    Получить свойство (* )
iObject.ButtonChecked (btnID) = ButtonChecked    Установить свойство (* )
ButtonChecked = iObject.GetButtonChecked (btnID)    Получить свойство(**)
iObject.SetButtonChecked (btnID, ButtonChecked)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonChecked (btnID, &ButtonChecked)    Получить свойство
iObject->put_ButtonChecked (btnID, ButtonChecked)    Установить свойство
Входные параметры:
btnID    - идентификатор кнопки.
Значение свойства:
TRUE    - кнопка нажата,
FALSE    - кнопка не нажата.
```
Примечание:
Доступно только для кнопок типа ksCheckButton и ksRadioButton из перечисления ButtonTypeEnum.


## ButtonEnable - Доступность кнопки

Тип данных: BOOL.
Синтаксис Automation:
```
ButtonEnable = iObject.ButtonEnable (btnID)    Получить свойство (* )
iObject.ButtonEnable (btnID) = ButtonEnable    Установить свойство (* )
ButtonEnable = iObject.GetButtonEnable (btnID)    Получить свойство(**)
iObject.SetButtonEnable (btnID, ButtonEnable)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonEnable (btnID, &ButtonEnable)    Получить свойство
iObject->put_ButtonEnable (btnID, ButtonEnable)    Установить свойство
Входные параметры:
btnID    - идентификатор кнопки.
Значение свойства:
TRUE    - кнопка доступна,
FALSE    - кнопка недоступна.
```
Примечание:
Данное свойство позволяет установить или получить доступ к кнопке.


## ButtonHint - Строка подсказки для кнопки

Тип данных: BSTR
Синтаксис Automation:
```
ButtonHint = iObject.ButtonHint (btnID)    Получить свойство (* )
iObject.ButtonHint (btnID) = ButtonHint    Установить свойство (* )
ButtonHint = iObject.GetButtonHint (btnID)    Получить свойство(**)
iObject.SetButtonHint (btnID, ButtonHint)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonHint (btnID, &ButtonHint)    Получить свойство
iObject->put_ButtonHint (btnID, ButtonHint)    Установить свойство
Входные параметры:
btnID    - идентификатор кнопки.
```
Примечание:
1. Данное свойство позволяет установить или получить строку подсказки для кнопки с идентификатором btnID.
2. Для корректного отображения строки подсказки конкретной кнопки необходимо задать строку подсказки для набора кнопок. Если текст подсказки набора не нужен или не имеет значения, эта строка может состоять, например, из одного пробела.


## ButtonIconFont - Шрифт для кнопок

Тип данных: BSTR
Синтаксис Automation:
```
ButtonIconFont = Object.ButtonIconFont( BtnID )    Получить свойство (* )
Object.ButtonIconFont( BtnID ) = ButtonIconFont    Установить свойство (* )
ButtonIconFont = Object.GetButtonIconFont( BtnID )    Получить свойство(**)
Object.SetButtonIconFont( BtnID, ButtonIconFont )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ButtonIconFont( BtnID, &ButtonIconFont )    Получить свойство
Object.put_ButtonIconFont( BtnID, ButtonIconFont )    Установить свойство
Входные параметры:
BtnID    - идентификатор кнопки.
```


## ButtonsType - Тип кнопок

Тип данных: тип кнопок из перечисления ButtonTypeEnum.
Синтаксис Automation:
```
ButtonsType = iObject.ButtonsType    Получить свойство (* )
iObject.ButtonsType = ButtonsType    Установить свойство (* )
ButtonsType = iObject.GetButtonsType()    Получить свойство(**)
iObject.SetButtonsType (ButtonsType)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonsType (&ButtonsType)    Получить свойство
iObject->put_ButtonsType (ButtonsType)    Установить свойство
```
Примечание:
Изменить тип кнопок можно только до создания элемента управления, то есть до запуска процесса у процессных параметров или до вызова метода IPropertyManager::ShowTabs.


## ButtonTips - Строка подсказки для кнопки

Тип данных BSTR
Синтаксис Automation:
```
ButtonTips = iObject.ButtonTips (btnID)    Получить свойство (* )
iObject.ButtonTips (btnID) = ButtonTips    Установить свойство (* )
ButtonTips = iObject.GetButtonTips (btnID)    Получить свойство(**)
iObject.SetButtonTips (btnID, ButtonTips)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonTips (btnID, &ButtonTips)    Получить свойство
iObject->put_ButtonTips (btnID, ButtonTips)    Установить свойство
Входные параметры:
btnID    - идентификатор кнопки.
```
Примечание:
1. Данное свойство позволяет установить или получить строку подсказки для кнопки с идентификатором btnID.
2. Для корректного отображения строки подсказки конкретной кнопки необходимо задать строку подсказки для набора кнопок. Если текст подсказки набора не нужен или не имеет значения, эта строка может состоять, например, из одного пробела.


## ButtonVisible - Отображение кнопки

Тип данных: BOOL
Синтаксис Automation:
```
ButtonVisible = Object.ButtonVisible( BtnID )    Получить свойство (* )
Object.ButtonVisible( BtnID ) = ButtonVisible    Установить свойство (* )
ButtonVisible = Object.GetButtonVisible( BtnID )    Получить свойство(**)
Object.SetButtonVisible( BtnID, ButtonVisible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ButtonVisible( BtnID, &ButtonVisible )    Получить свойство
Object.put_ButtonVisible( BtnID, ButtonVisible )    Установить свойство
Входные параметры:
BtnID    - идентификатор кнопки.
```


## NextCommand - Переключать кнопки по VK_TAB

Тип данных: BOOL.
Синтаксис Automation:
```
nextCommand = iKompasObject.NextCommand    Получить свойство (* )
iKompasObject.NextCommand = nextCommand    Установить свойство (* )
nextCommand = iKompasObject.GetNextCommand()    Получить свойство(**)
iKompasObject.SetNextCommand( nextCommand )    Установить свойство (**)
```
Примечание:
1. Доступно только для кнопок типа и ksRadioButton из перечисления ButtonTypeEnum.
2. Позволяет получить и установить свойство переключения кнопок комбинацией CTLRTAB.


## ResModule - Модуль с ресурсами значков

Тип данных: VARIANT (long или BSTR)
Синтаксис Automation:
```
ResModule = iObject.ResModule    Получить свойство (* )
iObject.ResModule = ResModule    Установить свойство (* )
ResModule = iObject.GetResModule()    Получить свойство(**)
iObject.SetResModule (ResModule)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ResModule (&ResModule)    Получить свойство
iObject->put_ResModule (ResModule)    Установить свойство
Значение свойства:
HINSTANCE (тип значения long) или полный путь к файлу (тип значения BSTR) dll модуля, в котором находятся все необходимые ресурсы.
```
Примечание:
Данное свойство позволяет установить или получить dll-модуль, из которого будут извлекаться значки для кнопок.
