---
title: "Работа с Панелью свойств"
type: interface
api: [api7]
tags: [interface, api7, ap2037561]
sources:
  - ap2037561.html
  - ipropertycontrol.html
  - ipropertymanager.html
  - ipropertytab.html
  - ipropertycontrol1.html
  - ipropertypoint3d.html
  - ipropertyeditcheckbox.html
  - ipropertypreviewtext.html
  - ipropertyreplacelist.html
  - ipropertytoolbar.html
  - ipropertyparamgrid.html
  - ipropertytree.html
  - ipropertytreenode.html
---

*API интерфейсов. Версия 7 > Приложение*




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

Базовый интерфейс элемента управления Панели свойств.
Иерархия:
IKompasAPIObject
IPropertyControl
IPropertyControl1
Описание:
При изменении библиотечных элементов управления система передает управление библиотеке посредством вызовов соответствующих событий. Данный интерфейс является базовым для всех элементов управления Панели свойств. Все элементы управления из СontrolTypeEnum являются наследниками от IPropertyControl.
Примечание:
1. Имя выводится рядом с элементом управления (в зависимости от настроек Панели свойств). Если имя не задано или задана пустая строка, имя выводиться не будет.
2. Подсказки для элемента управления устанавливаются функциями Hint и Tips.
3. Идентификатор элемента управления, установленный методом Id, будет приходить в событиях от данного элемента управления, как параметр.
4. Данный интерфейс может быть получен от интерфейса коллекции элементов управления IPropertyControls с помощью свойства IPropertyControls::Item или метода IPropertyControls::Add.
5. Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) интерфейс позволяет получить дополнительный интерфейс IPropertyControl1.


## СontrolType - Тип элемента управления

Тип данных: тип элемента управления из перечисления СontrolTypeEnum.
Синтаксис Automation:
```
СontrolType = iObject.СontrolType    Получить свойство (* )
СontrolType = iObject.GetСontrolType()    Получить свойство(**)
```
Синтаксис COM:
```
iObject->get_СontrolType (&СontrolType)    Получить свойство
```
Примечание:
Свойство только для чтения.


## Enable - Состояние (доступность) элемента управления

Тип данных: BOOL
Синтаксис Automation:
```
Enable = iObject.Enable    Получить свойство (* )
iObject.Enable = Enable    Установить свойство (* )
Enable = iObject.GetEnable()    Получить свойство(**)
iObject.SetEnable (Enable)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Enable (&Enable)    Получить свойство
iObject->put_Enable (Enable)    Установить свойство
```
Примечание:
Позволяет получить и установить доступность элемента управления.


## Hint - Подсказки элемента управления

Функция не поддерживается
Тип данных: строка
Синтаксис Automation:
```
Hint = iObject.Hint    Получить свойство (* )
iObject.Hint = Hint    Установить свойство (* )
Hint = iObject.GetHint()    Получить свойство(**)
iObject.SetHint (Hint)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Hint (&Hint)    Получить свойство
iObject->put_Hint (Hint)    Установить свойство
```
Примечание:
Позволяет получить и установить подсказку элемента управления.


## Id - Идентификатор элемента управления

Тип данных: long
Синтаксис Automation:
```
Id = iObject.Id    Получить свойство (* )
iObject.Id = Id    Установить свойство (* )
Id = iObject.GetId()    Получить свойство(**)
iObject.SetId (Id)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Id (&Id)    Получить свойство
iObject->put_Id (Id)    Установить свойство
```
Примечание:
Позволяет получить и установить идентификатор элемента управления.


## Name - Имя элемента управления

Тип данных: строка
Синтаксис Automation:
```
Name = iObject.Name    Получить свойство (* )
iObject.Name = Name    Установить свойство (* )
Name = iObject.GetName()    Получить свойство(**)
iObject.SetName (Name)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Name (&Name)    Получить свойство
iObject->put_Name (Name)    Установить свойство
```
Примечание:
Позволяет получить и установить имя элемента управления.


## NameVisibility - Видимость имени на Панели свойств

Тип данных: PropertyControlNameVisibility
Синтаксис Automation:
```
NameVisibility = iObject.NameVisibility    Получить свойство (* )
iObject.NameVisibility = NameVisibility    Установить свойство (* )
NameVisibility = iObject.GetNameVisibility()    Получить свойство(**)
iObject.SetNameVisibility (NameVisibility)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_NameVisibility (&NameVisibility)    Получить свойство
iObject->put_NameVisibility (NameVisibility)    Установить свойство
```
Примечание:
Позволяет получить и установить видимость имени элемента управления на Панели свойств.


## Tips - Подсказки элемента управления

Функция не поддерживается
Тип данных: строка
Синтаксис Automation:
```
Tips = iObject.Tips    Получить свойство (* )
iObject.Tips = Tips    Установить свойство (* )
Tips = iObject.GetTips()    Получить свойство(**)
iObject.SetTips (Tips)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Tips (&Tips)    Получить свойство
iObject->put_Tips (Tips)    Установить свойство
```
Примечание:
Позволяет получить и установить подсказку элемента управления.


## Value - Значение элемента управления

Тип данных: VARIANT
Синтаксис Automation:
```
Value = iObject.Value    Получить свойство (* )
iObject.Value = Value    Установить свойство (* )
Value = iObject.GetValue()    Получить свойство(**)
iObject.SetValue (Value)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Value (&Value)    Получить свойство
iObject->put_Value (Value)    Установить свойство
```
Примечание:
1. Позволяет получить и установить значение элемента управления.
2. Тип данных определяется типом элемента управления из перечисления СontrolTypeEnum:
•для типа ksControlListInt используется тип long,
•для типа ksControlListReal используется тип double,
•для типа ksControlEditStr ограничения на значение не накладываются,
•для типа ksControlEditAngle используется тип double,
•для типа ksControlEditLength используется тип double,
•для типа ksControlEditPoint используется тип VT_ARRAY | VT_R8 - на 2 значения координат.


## Visible - Видимость элемента управления

Тип данных: BOOL
Синтаксис Automation:
```
Visible = iObject.Visible    Получить свойство (* )
iObject.Visible = Visible    Установить свойство (* )
Visible = iObject.GetVisible()    Получить свойство(**)
iObject.SetVisible (Visible)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Visible (&Visible)    Получить свойство
iObject->put_Visible (Visible)    Установить свойство
```
Примечание:
Позволяет получить и установить свойство видимости элемента управления.


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

Интерфейс событий...
Интерфейс Панели свойств.
Иерархия:
IKompasAPIObject
IPropertyManager
КОМПАС-3D использует стандартную Панель свойств, которая позволяет задавать параметры процессов. Библиотеки КОМПАС могут добавлять вкладки в стандартную Панель свойств и создавать собственные Панели свойств. Их состав формируется при подключении библиотеки или выполнении библиотечной команды. После отключения библиотеки или завершения работы команды созданные ими элементы управления исчезают. Сигналом для этого служат изменения активности документов или процессов. Чтобы отслеживать эти изменения активности, библиотека должна быть подписана на соответствующие события. При изменении состояния элементов управления Панели свойств, созданных библиотекой, система передает управление библиотеке посредством вызовов событий.
Для стандартной Панели свойств все свойства данного интерфейса доступны только по чтению. Библиотека может управлять состоянием только собственной Панели свойств либо вкладок на стандартной. Остальные вкладки и их элементы управления будут недоступны для изменения.
Панель свойств или вкладки на стандартной Панели свойств, созданные библиотекой, будут удалены после освобождения библиотекой их интерфейса. Чтобы эти элементы управления были доступны, библиотека должна держать ссылку на интерфейс Панели свойств все время от начала до завершения ее использования.
Панель свойств библиотеки может быть расположена только слева, справа или находиться в плавающем состоянии.
Примечание:
Создать панель свойств и получить данный интерфейс можно от интерфейса приложения IApplication с помощью свойства IApplication::CreatePropertyManager.


## ActivateOnCreate - Активизировать закладку при создании

Тип данных: BOOL
Синтаксис Automation:
```
ActivateOnCreate = Object.ActivateOnCreate    Получить свойство (* )
Object.ActivateOnCreate = ActivateOnCreate    Установить свойство (* )
ActivateOnCreate = Object.GetActivateOnCreate()    Получить свойство(**)
Object.SetActivateOnCreate( ActivateOnCreate )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ActivateOnCreate( &ActivateOnCreate )    Получить свойство
Object.put_ActivateOnCreate( ActivateOnCreate )    Установить свойство
Версия КОМПАС v22
```


## Active - Признак активности панели

Тип данных: BOOL
Синтаксис Automation:
```
Active = Object.Active    Получить свойство (* )
Object.Active = Active    Установить свойство (* )
Active = Object.GetActive()    Получить свойство(**)
Object.SetActive( Active )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Active( &Active )    Получить свойство
Object.put_Active( Active )    Установить свойство
Версия КОМПАС v22
```


## AddSetupMenuCommand - Добавить пункт в меню настроек процесса

Синтаксис Automation:
```
BOOL AddSetupMenuCommand( BSTR Title, long Command, BOOL Checable );
```
Синтаксис COM:
```
HRESULT AddSetupMenuCommand( BSTR Title, long Command, BOOL Checable, BOOL * Result );
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
Входные параметры:
Title    - заголовок,
Command    - идентификатор команды,
Checable    - FALSE - выполняемая команда, TRUE - флаг состояния.
```


## AddSpecToolbarButton - Добавить кнопку в спецпанель

Синтаксис Automation:
```
BOOL AddSpecToolbarButton( long BtnID, VARIANT Bmp, BSTR Tips, BSTR IconFont );
```
Синтаксис COM:
```
HRESULT AddSpecToolbarButton( long BtnID, VARIANT Bmp, BSTR Tips, BSTR IconFont, BOOL * Result );
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
Входные параметры:
BtnID    - идентификатор кнопки,
Bmp    - идентификатор картинки или символа шрифта или путь к файлу,
Tips    - имя кнопки,
IconFont    - имя шрифта.
```
Примечание:
1. Для использования иконок из шрифта Компас нужно передать параметр IconFont == пустой строке.
2. Для использования шрифта библиотеки, описанного в манифесте библиотеки, нужно передать строчку, полученную методом IProceduresLibrary::IconsFont.
3. Для использования картинок из ресурсов требуется установить свойство IPropertyManager::ResModule.
4. Для использования шрифтовых иконок свойство IPropertyManager::ResModule устанавливаться не должно.


## AutoHideMode - Свернутость Панели свойств

Функция не поддерживается
Тип данных: BOOL.
Синтаксис Automation:
```
AutoHideMode = iObject.AutoHideMode;    Получить свойство (* )
iObject.AutoHideMode = AutoHideMode;    Установить свойство (* )
AutoHideMode = iObject.GetAutoHideMode();    Получить свойство(**)
iObject.SetAutoHideMode( AutoHideMode );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_AutoHideMode( &AutoHideMode );    Получить свойство
iObject->put_AutoHideMode( AutoHideMode );    Установить свойство
Значения свойства:
TRUE    - панель свернута,
FALSE    - панель развернута.
```
Примечание:
Позволяет получать и устанавливать свойство, определяющее, свернута панель или нет.


## Caption - Заголовок Панели свойств

Тип данных: BSTR (строка).
Синтаксис Automation:
```
Caption = iObject.Caption    Получить свойство (* )
iObject.Caption = Caption    Установить свойство (* )
Caption = iObject.GetCaption()    Получить свойство(**)
iObject.SetCaption (Caption)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Caption (&Caption)    Получить свойство
iObject->put_Caption (Caption)    Установить свойство
```
Примечание:
С помощью данного свойства можно получить и изменить заголовок Панели свойств.


## ClearSpecToolbar - Очистить спецпанель

Синтаксис Automation:
```
BOOL ClearSpecToolbar();
```
Синтаксис COM:
```
HRESULT ClearSpecToolbar( BOOL * Result );
Возвращаемое значение:
TRUE    - успешное завершение.
```


## EnterButtonIconType - Тип иконки для кнопки Cоздать

Тип данных: из перечисления ksEnterButtonIconTypeEnum
Синтаксис Automation:
```
EnterButtonIconType = Object.EnterButtonIconType    Получить свойство (* )
Object.EnterButtonIconType = EnterButtonIconType    Установить свойство (* )
EnterButtonIconType = Object.GetEnterButtonIconType()    Получить свойство(**)
Object.SetEnterButtonIconType( EnterButtonIconType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EnterButtonIconType( &EnterButtonIconType )    Получить свойство
Object.put_EnterButtonIconType( EnterButtonIconType )    Установить свойство
```


## GetGabaritRect - Получить габаритный прямоугольник Панели свойств

Синтаксис Automation:
```
void GetGabaritRect (long* left,
long* top,
long* right,
long* bottom);
```
Синтаксис COM:
```
HRESULT GetGabaritRect ([out] long* left,
[out] long* top,
[out] long* right,
[out] long* bottom);
Выходные параметры:
left, top    - координата верхней левой точки,
right, bottom    - координата нижней правой точки.
```
Примечание:
Метод позволяет получить габаритный прямоугольник Панели свойств. Точки задаются в относительных координатах окна КОМПАС.


## HideTabs - Скрыть вкладки и их содержимое на Панели свойств

Синтаксис Automation:
```
BOOL HideTabs();
```
Синтаксис COM:
```
HRESULT HideTabs ([out, retval] VARIANT_BOOL * pVal);
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет скрыть вкладки и их содержимое на Панели свойств.


## Label - Заголовок 2 панели свойств

Тип данных: BSTR
Синтаксис Automation:
```
Label = Object.Label    Получить свойство (* )
Object.Label = Label    Установить свойство (* )
Label = Object.GetLabel()    Получить свойство(**)
Object.SetLabel( Label )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Label( &Label )    Получить свойство
Object.put_Label( Label )    Установить свойство
```


## Layout - Положение Панели свойств (вверху, внизу, слева, справа, плавает)

Тип данных: положение Панели свойств из перечисления PropertyManagerLayout.
Синтаксис Automation:
```
Layout = iObject.Layout    Получить свойство (* )
iObject.Layout = Layout    Установить свойство (* )
Layout = iObject.GetLayout()    Получить свойство(**)
iObject.SetLayout (Layout)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Layout (&Layout)    Получить свойство
iObject->put_Layout (Layout)    Установить свойство
```
Примечание:
С помощью данного свойства можно получить и изменить положение Панели свойств.


## PropertyTabs - Коллекция закладок Панели свойств

Тип данных: указатель на интерфейс IPropertyTabs.
Синтаксис Automation:
```
PropertyTabs = iObject.PropertyTabs    Получить свойство (* )
PropertyTabs = iObject.GetPropertyTabs()    Получить свойство(**)
```
Синтаксис COM:
```
iObject->get_PropertyTabs (&PropertyTabs)    Получить свойство
```
Примечание:
1. Свойство только для чтения.
2. Позволяет получить доступ к вкладкам Панели свойств.


## RepeatCommand - Повторить команду (посылает повторно событие панели свойств)

Синтаксис Automation:
```
BOOL RepeatCommand();
```
Синтаксис COM:
```
HRESULT RepeatCommand( BOOL * Result );
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
```


## ResModule - Модуль с описанием пользовательской спецпанели

Тип данных: VARIANT ( LONG_PTR или BSTR).
Синтаксис Automation:
```
ResModule = Object.ResModule    Получить свойство (* )
Object.ResModule = ResModule    Установить свойство (* )
ResModule = Object.GetResModule()    Получить свойство(**)
Object.SetResModule( ResModule )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ResModule( &ResModule )    Получить свойство
Object.put_ResModule( ResModule )    Установить свойство
Значение свойства:
HINSTANCE (тип значения LONG_PTR)    - полный путь к файлу (тип значения BSTR) dll-модуля, в котором находятся все необходимые ресурсы.
```
Примечание:
1. HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64.
Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR).
2. Данное свойство позволяет установить или получить dll-модуль, в котором находится описание пользовательской спецпанели, (пример для пользовательских кнопок см. IPropertyManager::SpecToolbarEx).
3. Свойство не используется при работе со шрифтовыми иконками


## SetGabaritRect - Установить габаритный прямоугольник Панели свойств

Функция не поддерживается
Синтаксис Automation:
```
void SetGabaritRect (long left,
long top,
long right,
long bottom);
```
Синтаксис COM:
```
HRESULT SetGabaritRect ([in] long left,
[in] long top,
[in] long right,
[in] long bottom);
Входные параметры:
left, top    - координата верхней левой точки,
right, bottom    - координата нижней правой точки.
```
Примечание:
Метод позволяет установить габаритный прямоугольник Панели свойств. Точки задаются в относительных координатах окна КОМПАС.


## SetIcon - Изменить иконку панели

Синтаксис Automation:
```
BOOL SetIcon( long Icon, BSTR IconFont );
```
Синтаксис COM:
```
HRESULT SetIcon( long Icon, BSTR IconFont, BOOL * Result );
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
Входные параметры:
Icon    - идентификатор иконки из шрифта,
IconFont    - шрифт.
Версия: Компас v20
```


## SetSetupMenuCommandState - Установить состояние команды меню настроек процесса

Синтаксис Automation:
```
BOOL SetSetupMenuCommandState( long Command, BOOL Visible, BOOL Enable, BOOL Checked );
```
Синтаксис COM:
```
HRESULT SetSetupMenuCommandState( long Command, BOOL Visible, BOOL Enable, BOOL Checked, BOOL * Result );
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
Входные параметры:
Command    - идентификатор команды,
Visible    - видимость,
Enable    - доступность,
Checked    - признак выбора.
```


## ShowTabs - Отобразить вкладки и их содержимое на Панели свойств

Синтаксис Automation:
```
BOOL ShowTabs();
```
Синтаксис COM:
```
HRESULT ShowTabs ([out, retval] VARIANT_BOOL * pVal);
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет отобразить вкладки и их содержимое на Панели свойств.


## SpecToolbar - Специальная панель

Тип данных: тип предопределенной спецпанели для Панели свойств из перечисления SpecPropertyToolBarEnum.
Синтаксис Automation:
```
SpecToolbar = iObject.SpecToolbar    Получить свойство (* )
iObject.SpecToolbar = SpecToolbar    Установить свойство (* )
SpecToolbar = iObject.GetSpecToolbar()    Получить свойство(**)
iObject.SetSpecToolbar (SpecToolbar)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SpecToolbar (&SpecToolbar)    Получить свойство
iObject->put_SpecToolbar (SpecToolbar)    Установить свойство
```
Примечание:
С помощью данного свойства можно получить и изменить тип предопределенной спецпанели для Панели свойств.


## SpecToolbarEx - Пользовательская спецпанель

Тип данных: long.
Синтаксис Automation:
```
SpecToolbarEx = Object.SpecToolbarEx    Получить свойство (* )
Object.SpecToolbarEx = SpecToolbarEx    Установить свойство (* )
SpecToolbarEx = Object.GetSpecToolbarEx()    Получить свойство(**)
Object.SetSpecToolbarEx( SpecToolbarEx )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SpecToolbarEx( &SpecToolbarEx )    Получить свойство
Object.put_SpecToolbarEx( SpecToolbarEx )    Установить свойство
```
Примечание:
1. Данное свойство является расширением свойства IPropertyManager::SpecToolbar.
2. Свойство позволяет установить или получить идентификатор спецпанели.
Может быть установлен идентификатор из перечисления SpecPropertyToolBarEnum (предопределенных спецпанелей для панели свойств) либо задан идентификатор ресурса пользовательской спецпанели, уникальный в рамках библиотеки.
3. Свойство SpecToolbarEx используется совместно со свойством IPropertyManager::ResModule.
4. Чтобы описать пользовательскую спецпанель, нужно:
4.1. Объявить уникальный идентификатор спецпанели в h файле
#define ITB_SPEC_TOOLBAR 3000
#define END_OF_RESOURCE_TABLE 0xffff
4.2. В ресурсном файле описать RCDATA панели и пользовательские кнопки
rc2-файл:
ITB_SPEC_TOOLBAR RCDATA
{
1 //pbEnter
2 //pbEsc
3 //pbHelpсправка
20 //пользовательская кнопка
END_OF_RESOURCE_TABLE
}
В примере для пользовательской спецпанели определено 4 кнопки.
1, 2, 3 - предопределенные кнопки из перечисления SpecPropertyToolBarEnum
20 - пользовательская кнопка
//битмап для пользовательской кнопки спецпанели
20 ICON DISCARDABLE "res\\st_reduc.ico" // CREATE процесса настройки фильтра для выбора объектов отчета
//tips\hint для пользовательской кнопки спецпанели
STRINGTABLE LOADONCALL MOVEABLE DISCARDABLE
BEGIN
20 "Для тестирования пользовательской кнопки\nПользовательская кнопка"
END


## StatusMessage - Строка подсказки

Тип данных: BSTR
Синтаксис Automation:
```
StatusMessage = Object.StatusMessage    Получить свойство (* )
Object.StatusMessage = StatusMessage    Установить свойство (* )
StatusMessage = Object.GetStatusMessage()    Получить свойство(**)
Object.SetStatusMessage( StatusMessage )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_StatusMessage( &StatusMessage )    Получить свойство
Object.put_StatusMessage( StatusMessage )    Установить свойство
```


## UpdateTabs - Обновить вкладки и их содержимое на Панели свойств

Синтаксис Automation:
```
BOOL UpdateTabs();
```
Синтаксис COM:
```
HRESULT UpdateTabs ([out, retval] VARIANT_BOOL * pVal);
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет обновить вкладки и их содержимое на Панели свойств.


## Visible - Видимость Панели свойств

Тип данных: BOOL.
Синтаксис Automation:
```
Visible = iObject.Visible    Получить свойство (* )
iObject.Visible = Visible    Установить свойство (* )
Visible = iObject.GetVisible()    Получить свойство(**)
iObject.SetVisible (Visible)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Visible (&Visible)    Получить свойство
iObject->put_Visible (Visible)    Установить свойство
```
Примечание:
С помощью данного свойства можно управлять видимостью Панели свойств.


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

Интерфейс вкладки Панели свойств.
Иерархия:
IKompasAPIObject
IPropertyTab
Примечание:
Данный интерфейс может быть получен от интерфейса коллекции закладок панели свойств IPropertyTabs с помощью свойств IPropertyTabs::Item, IPropertyTabs::Active и метода IPropertyTabs::Add.


## Active - Активность закладки Панели свойств

Функция не поддерживается
Тип данных: BOOL
Синтаксис Automation:
```
Active = iObject.Active    Получить свойство (* )
iObject.Active = Active    Установить свойство (* )
Active = iObject.GetActive()    Получить свойство(**)
iObject.SetActive (Active)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Active (&Active)    Получить свойство
iObject->put_Active (Active)    Установить свойство
```
Примечание:
Свойство позволяет получить и изменить активность вкладки Панели свойств.


## Caption - Заголовок вкладки Панели свойств

Тип данных: BSTR (строка)
Синтаксис Automation:
```
Caption = iObject.Caption    Получить свойство (* )
iObject.Caption = Caption    Установить свойство (* )
Caption = iObject.GetCaption()    Получить свойство(**)
iObject.SetCaption (Caption)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Caption (&Caption)    Получить свойство
iObject->put_Caption (Caption)    Установить свойство
```
Примечание:
Свойство позволяет получить и изменить заголовок вкладки Панели свойств.


## Expanded - Признак развернутой закладки

Тип данных: BOOL
Синтаксис Automation:
```
Expanded = Object.Expanded    Получить свойство (* )
Object.Expanded = Expanded    Установить свойство (* )
Expanded = Object.GetExpanded()    Получить свойство(**)
Object.SetExpanded( Expanded )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Expanded( &Expanded )    Получить свойство
Object.put_Expanded( Expanded )    Установить свойство
```


## Image - Растровый рисунок на вкладке

Функция не поддерживается
Тип данных: VARIANT (long или BSTR).
Значения свойства:
| HINSTANCE (тип значения long) | - полный путь к файлу (тип значения BSTR) dll модуля в котором находятся все необходимые ресурсы. |
| --- | --- |
Синтаксис Automation:
```
Image = iObject.Image    Получить свойство (* )
iObject.Image = Image    Установить свойство (* )
Image = iObject.GetImage()    Получить свойство(**)
iObject.SetImage(Image)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Image(&Image)    Получить свойство
iObject->put_Image(Image)    Установить свойство
```
Примечание:
Свойство позволяет получить или установить битмап на закладке.
Битмап можно задать в виде идентификатора в файле ресурсов (тип данных long) или полного пути к bmp-файлу значка (тип данных BSTR).


## PropertyControls - Коллекция элементов управления на вкладке

Тип данных: указатель на интерфейс IPropertyControls.
Синтаксис Automation:
```
PropertyControls = iObject.PropertyControls    Получить свойство (* )
PropertyControls = iObject.GetPropertyControls()    Получить свойство(**)
```
Синтаксис COM:
```
iObject->get_PropertyControls (&PropertyControls)    Получить свойство
```
Примечание:
Свойство доступно только для чтения. Позволяет получить коллекцию элементов управления вкладки Панели свойств.


## ResModule - Растровый рисунок на вкладке

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


## Visible - Видимость вкладки Панели свойств

Тип данных: BOOL
Синтаксис Automation:
```
Visible = iObject.Visible    Получить свойство (* )
iObject.Visible = Visible    Установить свойство (* )
Visible =iObject.Visible    Получить свойство(**)
iObject.SetVisible    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Visible (&Visible)    Получить свойство
iObject->put_Visible (Visible)    Установить свойство
```
Примечание:
Свойство позволяет получить и изменить видимость вкладки Панели свойств.


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

Дополнительный интерфейс элемента управления Панели свойств.
Иерархия:
IKompasAPIObject
IPropertyControl1
Примечание:
Данный интерфейс можно получить у элемента управления Панели свойств IPropertyControl посредством вызова метода IUnknown::QueryInterface (const GUID far& IID, void** pif).


## AddAdditionButton - Добавить дополнительную кнопку

Синтаксис Automation:
```
BOOL AddAdditionButton( long BtnID, VARIANT Bmp, BSTR Tips, BSTR IconFont );
```
Синтаксис COM:
```
HRESULT AddAdditionButton( long BtnID, VARIANT Bmp, BSTR Tips, BSTR IconFont, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
BtnID    - идентификатор кнопки,
Bmp    - идентификатор иконки из шрифта или идентификатор картинки из ресурсов,
Tips    - текст подсказки для кнопки,
IconFont    - имя библиотечного шрифта.
```


## AddAdditionCheckButton - Добавить дополнительную кнопку (checkbox)

Синтаксис Automation:
```
BOOL AddAdditionCheckButton( long BtnID, VARIANT BmpChecked, VARIANT BmpUnChecked, VARIANT BmpUndefine, BSTR Tips, BSTR IconFont );
```
Синтаксис COM:
```
HRESULT AddAdditionCheckButton( long BtnID, VARIANT BmpChecked, VARIANT BmpUnChecked, VARIANT BmpUndefine, BSTR Tips, BSTR IconFont, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
BtnID    - идентификатор кнопки,
BmpChecked    - идентификатор иконки из шрифта или идентификатор картинки из ресурсов для нажатого состояния,
BmpUnChecked    - идентификатор иконки из шрифта или идентификатор картинки из ресурсов для отжатого состояния
BmpUndefine    - идентификатор иконки из шрифта или идентификатор картинки из ресурсов для неопределенного состояния,
Tips    - подсказка для кнопки,
IconFont    - имя шрифта.
```


## AdditionButtonChecked - Состояние дополнительной кнопки (нажата/отжата)

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


## AdditionButtonEnable - Состояние (доступность) дополнительной кнопки

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


## AdditionButtonNeedMouseEnterLeaveMessages - Необходимость получать сообщения о наведении/уходе курсора мыши на дополнительных кнопках от данного контрола

Тип данных: BOOL
Синтаксис Automation:
```
AdditionButtonNeedMouseEnterLeaveMessages = Object.AdditionButtonNeedMouseEnterLeaveMessages    Получить свойство(* )
Object.AdditionButtonNeedMouseEnterLeaveMessages = AdditionButtonNeedMouseEnterLeaveMessages    Установить свойство (* )
AdditionButtonNeedMouseEnterLeaveMessages = Object.GetAdditionButtonNeedMouseEnterLeaveMessages()    Получить свойство (**)
Object.SetAdditionButtonNeedMouseEnterLeaveMessages( AdditionButtonNeedMouseEnterLeaveMessages )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AdditionButtonNeedMouseEnterLeaveMessages( &AdditionButtonNeedMouseEnterLeaveMessages )    Получить свойство(* )
Object.put_AdditionButtonNeedMouseEnterLeaveMessages( AdditionButtonNeedMouseEnterLeaveMessages )    Установить свойство (* )
Входные параметры:
long BtnID    - пользовательский идентификатор кнопки.
```
Примечание:
Включение свойства позволит обрабатывать событие ksProcess2DNotify::GetMouseEnterLeavePoint.
Это позволит подсвечивать точку в поле 2D документа, положение которой зависит от контрола под курсором.


## AdditionButtonVisible - Видимость дополнительной кнопки

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


## GetHWND - Получить Handle окна

Функция не поддерживается
Синтаксис Automation:
```
OLE_HANDLE GetHWND();
```
Синтаксис COM:
```
HRESULT GetHWND( OLE_HANDLE * Result );
Возвращаемое значение:
- дескриптор окна.
```


## HyperLinkNameStyle - Отображать имя контрола в виде ссылки

Тип данных: BOOL
Синтаксис Automation:
```
HyperLinkNameStyle = Object.HyperLinkNameStyle    Получить свойство (* )
Object.HyperLinkNameStyle = HyperLinkNameStyle    Установить свойство (* )
HyperLinkNameStyle = Object.GetHyperLinkNameStyle()    Получить свойство(**)
Object.SetHyperLinkNameStyle( HyperLinkNameStyle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HyperLinkNameStyle( &HyperLinkNameStyle )    Получить свойство
Object.put_HyperLinkNameStyle( HyperLinkNameStyle )    Установить свойство
```


## Image - Дополнительный битмап контрол

Функция не поддерживается
Тип данных: VARIANT
Синтаксис Automation:
```
Image = iObject.Image    Получить свойство (* )
iObject.Image = Image    Установить свойство (* )
Image = iObject.GetImage()    Получить свойство(**)
iObject.SetImage (Image)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Image (&Image)    Получить свойство
iObject->put_Image (Image)    Установить свойство
Значения свойства:
- HINSTANCE (тип значения LONG_PTR).
```


## NeedMouseEnterLeaveMessages - Необходимость получать сообщения о наведении/уходе курсора мыши на поле редактирования контрола

Тип данных: BOOL
Синтаксис Automation:
```
NeedMouseEnterLeaveMessages = Object.NeedMouseEnterLeaveMessages    Получить свойство(* )
Object.NeedMouseEnterLeaveMessages = NeedMouseEnterLeaveMessages    Установить свойство (* )
NeedMouseEnterLeaveMessages = Object.GetNeedMouseEnterLeaveMessages()    Получить свойство (**)
Object.SetNeedMouseEnterLeaveMessages( NeedMouseEnterLeaveMessages )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NeedMouseEnterLeaveMessages( &NeedMouseEnterLeaveMessages )    Получить свойство(* )
Object.put_NeedMouseEnterLeaveMessages( NeedMouseEnterLeaveMessages )    Установить свойство (* )
```
Примечание:
Включение свойства позволит обрабатывать событие ksProcess2DNotify::GetMouseEnterLeavePoint.
Это позволит подсвечивать точку в поле 2D документа, положение которой зависит от контрола под курсором.


## PredefineNumber - Идентификатор предопределённого ввода

Тип данных: long
Синтаксис Automation:
```
predefineNumber = iKompasObject.PredefineNumber    Получить свойство (* )
iKompasObject.PredefineNumber = predefineNumber    Установить свойство (* )
predefineNumber = iKompasObject.GetPredefineNumber()    Получить свойство(**)
iKompasObject.SetPredefineNumber( predefineNumber )    Установить свойство (**)
```
Примечание:
1. Позволяет получить и установить идентификатор предопределённого ввода для элементов управления, содержащих окно ввода, например, поле ввода IPropertyEdit.
2. Значение по умолчанию = -1.
3. Если идентификатор задан (положительное число), то он должен быть уникальным в пределах коллекции элементов управления конкретной вкладки.
4. Работает только на запущенном процессе. При нажатии клавиш клавиатуры из коллекции выбирается элемент управления с наименьшим идентификатором предопределённого ввода (среди отображаемых) элементов управления и ему передается фокус. При подтверждении ввода ищется следующий индекс предопределённого ввода и запоминается для последующих нажатий клавиш. Если пользователь отказывается от ввода, например нажимает клавишу Esc, то индекс элемента управления предопределённого ввода, которому будут передаваться значения, не меняется.
5. Задать значение свойства можно только до запуска процесса.


## ResModule - Модуль с ресурсом битмапа

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


## UserMenu - Дескриптор пользовательского меню

Тип данных: OLE_HANDLE
Синтаксис Automation:
```
UserMenu = iObject.UserMenu    Получить свойство (* )
iObject.UserMenu = UserMenu    Установить свойство (* )
UserMenu = iObject.GetUserMenu()    Получить свойство(**)
iObject.SetUserMenu (UserMenu)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_UserMenu (&UserMenu)    Получить свойство
iObject->put_UserMenu (UserMenu)    Установить свойство
Значения свойства:
Дескриптор пользовательского контекстного меню на элементе управления.
```
Примечание:
Если на элементе управления уже было меню, то в случае задания оно заменяется на пользовательское. Дескриптор должен создаваться в библиотеке и быть валидным до конца процесса. Деструктурироваться дескриптор должен на стороне библиотеки по окончанию процесса. После того как меню вывелось и пользователь выбрал какой-то пункт генерируется новое событие - prUserMenuCommand.


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

Интерфейс элемента Панели свойствТочка 3D.
Иерархия:
IDispatch
IKompasAPIObject
IPropertyControl
IPropertyPoint3D
Примечания:
1. Интерфейс позволяет добавить элемент Панели свойств - точка 3D.
2. Данный интерфейс может быть получен от интерфейса коллекции элементов управления IPropertyControls с помощью свойства IPropertyControls::Item или метода IPropertyControls::Add с последующим приведением интерфейса IPropertyControl к данному интерфейсу с помощью метода IUnknown::QueryInterface.


## Coordinate - Параметры координаты по индексу

Тип данных: Указатель на интерфейс IPropertyEdit
Синтаксис Automation:
```
Coordinate = Object.Coordinate( Index )    Получить свойство (* )
Coordinate = Object.GetCoordinate( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Coordinate( Index, &Coordinate );    Получить свойство
Object.put_Coordinate( Index, Coordinate );    Установить свойство
Входные параметры:
Index    - индекс координаты.
```


## CoordinateState - Состояние координаты по индексу

Тип данных: из перечисления CheckStateEnum
Синтаксис Automation:
```
CoordinateState = Object.CoordinateState( Index )    Получить свойство (* )
Object.CoordinateState( Index ) = CoordinateState    Установить свойство (* )
CoordinateState = Object.GetCoordinateState( Index )    Получить свойство(**)
Object.SetCoordinateState( Index, CoordinateState )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CoordinateState( Index, &CoordinateState )    Получить свойство
Object.put_CoordinateState( Index, CoordinateState )    Установить свойство
Входные параметры:
Index    - индекс координаты.
```


## CoordinateValue - Значение координаты по индексу

Тип данных: double
Синтаксис Automation:
```
CoordinateValue = Object.CoordinateValue( Index )    Получить свойство (* )
Object.CoordinateValue( Index ) = CoordinateValue    Установить свойство (* )
CoordinateValue = Object.GetCoordinateValue( Index )    Получить свойство(**)
Object.SetCoordinateValue( Index, CoordinateValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CoordinateValue( Index, &CoordinateValue )    Получить свойство
Object.put_CoordinateValue( Index, CoordinateValue )    Установить свойство
Входные параметры:
Index    - индекс координаты.
```


## Point3DType - Тип системы координат точки

Тип данных: из перечисления ksPoint3DTypeEnum
Синтаксис Automation:
```
Point3DType = Object.Point3DType    Получить свойство (* )
Object.Point3DType = Point3DType    Установить свойство (* )
Point3DType = Object.GetPoint3DType()    Получить свойство(**)
Object.SetPoint3DType( Point3DType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Point3DType( &Point3DType )    Получить свойство
Object.put_Point3DType( Point3DType )    Установить свойство
```


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

![IPropertyEditCheckBox](../resources/images_ipropertyeditcheckbox.jpg)

Интерфейс элемента управления Панели свойств типа «Поле c чекбоксом в виде картинки»
| |
| --- |
Элемент панели свойств
Иерархия:
IDispatch
IKompasAPIObject
IPropertyEditCheckBox
Данный интерфейс можно получить, используя коллекцию элементов управления Панели свойств IPropertyControls.


## CheckButton - Состояние кнопки

Тип данных: BOOL
Синтаксис Automation:
```
CheckButton = Object.CheckButton    Получить свойство (* )
Object.CheckButton = CheckButton    Установить свойство (* )
CheckButton = Object.GetCheckButton()    Получить свойство(**)
Object.SetCheckButton( CheckButton )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CheckButton( &CheckButton )    Получить свойство
Object.put_CheckButton( CheckButton )    Установить свойство
Значения свойства:
TRUE    - включено,
FALSE    - отключено.
```


## DefaultValue - Значение по умолчанию

Тип данных: BSTR
Синтаксис Automation:
```
DefaultValue = Object.DefaultValue    Получить свойство (* )
Object.DefaultValue = DefaultValue    Установить свойство (* )
DefaultValue = Object.GetDefaultValue()    Получить свойство(**)
Object.SetDefaultValue( DefaultValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DefaultValue( &DefaultValue    Получить свойство
Object.put_DefaultValue( DefaultValue )    Установить свойство
```
Примечание:
Свойство задает строку приглашения, отображаемую в пустом регистраторе.


## EnableCheckButton - Состояние доступности кнопки

Тип данных: BOOL
Синтаксис Automation:
```
EnableCheckButton = Object.EnableCheckButton    Получить свойство (* )
Object.EnableCheckButton = EnableCheckButton    Установить свойство (* )
EnableCheckButton = Object.GetEnableCheckButton()    Получить свойство(**)
Object.SetEnableCheckButton( EnableCheckButton )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EnableCheckButton( &EnableCheckButton )    Получить свойство
Object.put_EnableCheckButton( EnableCheckButton )    Установить свойство
Значения свойства:
TRUE    - доступна,
FALSE    - недоступна.
```


## EnableDeleteValue - Признак возможности удаления значения

Тип данных: BOOL
Синтаксис Automation:
```
EnableDeleteValue = Object.EnableDeleteValue    Получить свойство (* )
Object.EnableDeleteValue = EnableDeleteValue    Установить свойство (* )
EnableDeleteValue = Object.GetEnableDeleteValue()    Получить свойство(**)
Object.SetEnableDeleteValue( EnableDeleteValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EnableDeleteValue( &EnableDeleteValue )    Получить свойство
Object.put_EnableDeleteValue( EnableDeleteValue )    Установить свойство
```


## IsLinkValue - Признак ссылочного содержимого

Тип данных: BOOL
Синтаксис Automation:
```
IsLinkValue = Object.IsLinkValue    Получить свойство (* )
Object.IsLinkValue = IsLinkValue    Установить свойство (* )
IsLinkValue = Object.GetIsLinkValue()    Получить свойство(**)
Object.SetIsLinkValue( IsLinkValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_IsLinkValue( &IsLinkValue    Получить свойство
Object.put_IsLinkValue( IsLinkValue )    Установить свойство
```


## Missing - Потерянный объект

Тип данных: BOOL
Синтаксис Automation:
```
Missing = Object.Missing    Получить свойство (* )
Object.Missing = Missing    Установить свойство (* )
Missing = Object.GetMissing()    Получить свойство(**)
Object.SetMissing(Missing )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Missing( &Missing )    Получить свойство
Object.put_Missing( Missing )    Установить свойство
```


## SetCustomBitmaps - Установить собственное изображение кнопки в разных состояниях

Синтаксис Automation:
```
void SetCustomBitmaps( VARIANT IdUnchecked,
VARIANT IdChecked,
VARIANT IdIndeterminate,
VARIANT HInstance );
```
Синтаксис COM:
```
HRESULT SetCustomBitmaps( VARIANT IdUnchecked,
VARIANT IdChecked,
VARIANT IdIndeterminate,
VARIANT HInstance,
void * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
IdUnchecked    - значок ненажатого состояния,
IdChecked    - значок нажатого состояния,
IdIndeterminate    - значок неопределенного состояния,
HInstance    - dll-модуль с ресурсами значков.
```
Примечания:
1. Значки могут быть заданы в виде идентификаторов в ресурсе dll-модуля (тип данных long) или в виде полного пути к bmp-файлу значка (тип данных BSTR). Обязательным является задание значка для ненажатого состояния idUnchecked, остальные могут быть не заданы.
2. Все значения переменных должны быть одного типа (или long, или BSTR).
3. Если значки задаются в виде идентификатора, то обязательно должен быть задан dll-модуль, в ресурсах которого лежат эти значки. Модуль с ресурсами значков hInstance может быть задан в виде HINSTANCE (тип значения long) или полного пути к файлу (тип значения BSTR) dll-модуля.


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

Интерфейс элемента Панели свойств Предпросмотр текста.
Иерархия:
IDispatch
IKompasAPIObject
IPropertyControl
IPropertyPreviewText
Примечания:
1. Интерфейс позволяет добавить элемент Панели свойств - Предпросмотр текста.
2. Данный интерфейс может быть получен от интерфейса коллекции элементов управления IPropertyControls с помощью свойства IPropertyControls::Item или метода IPropertyControls::Add с последующим приведением интерфейса IPropertyControl к данному интерфейсу с помощью метода IUnknown::QueryInterface.


## DoubleSize - Двойной размер

Тип данных: BOOL
Синтаксис Automation:
```
DoubleSize = Object.DoubleSize    Получить свойство (* )
Object.DoubleSize = DoubleSize    Установить свойство (* )
DoubleSize = Object.GetDoubleSize()    Получить свойство(**)
Object.SetDoubleSize( DoubleSize )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DoubleSize( &DoubleSize )    Получить свойство
Object.put_DoubleSize( DoubleSize )    Установить свойство
```


## PreviewText - Текст

Тип данных: Указатель на интерфейс IText
Синтаксис Automation:
```
PreviewText = Object.PreviewText    Получить свойство (* )
PreviewText = Object.GetPreviewText()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PreviewText( &PreviewText )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## UpdateParam - Обновить параметры

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


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

Интерфейс элемента панели свойств, список замен текстов.
Иерархия:
IDispatch
IKompasAPIObject
IPropertyControl
IPropertyReplaceList
Описание:
Позволяет управлять списком замен текстов из Панели свойств.
Примечание:
Данный интерфейс может быть получен от интерфейса коллекции элементов управления IPropertyControls с помощью свойства IPropertyControls::Item или метода IPropertyControls::Add. с последующим приведением интерфейса IPropertyControl к данному интерфейсу с помощью метода IUnknown::QueryInterface.
Версия: Компас v20


## AddItem - Добавить найденный фрагмент текста

Синтаксис Automation:
```
BOOL AddItem( LPDISPATCH Document, BSTR Text, BSTR FindText, long StartIndex, BOOL ReadOnly );
```
Синтаксис COM:
```
HRESULT AddItem( IDocumentFrame * Document, BSTR Text, BSTR FindText, long StartIndex, BOOL ReadOnly, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Document    - указатель на интерфейс окна документа IDocumentFrame,
Text    - полный текст,
FindText    - найденный текст,
StartIndex    - позиция найденного текста в полном тексте,
ReadOnly    - признак недоступного для изменения документа.
```


## Clear - Очистить список

Синтаксис Automation:
```
void Clear();
Синтаксис COM :
HRESULT Clear();
```


## GetSelection - Индексы селектированных элементов

Синтаксис Automation:
```
VARIANT GetSelection();
```
Синтаксис COM:
```
HRESULT GetSelection( VARIANT * Result );
Возвращаемое значение:
- список SafeArray индексов селектированных элементов.
```


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

Интерфейс вспомогательного элемента Панели свойств. Набор команд элемента управления.
Иерархия:
IDispatch
IPropertyToolBar
Описание:
Позволяет управлять командами элемента управления на Панели свойств.
Примечание:
Данный интерфейс можно получить у интерфейсов IPropertyGrid или IPropertyEditList посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif).
Интерфейс IPropertyAggregateControl
Интерфейс IPropertyControls
Интерфейс IPropertyTabs


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

Синтаксис Automation:
```
void AddButton( long BtnID, VARIANT Bmp, long InsertAt );
```
Синтаксис COM:
```
HRESULT AddButton( long BtnID, VARIANT Bmp, long InsertAt );
Входные параметры:
BtnID    - идентификатор кнопки,
Bmp    - строка (имя bmp-файла) или идентификатор битмапа (long),
InsertAt    - индекс кнопки.
```


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

Тип данных: BOOL.
Синтаксис Automation:
```
BOOL ButtonChecked = iObject.ButtonChecked (BtnID)    Получить свойство (* )
BOOL ButtonChecked = iObject.GetButtonChecked (BtnID)    Установить свойство (* )
iObject.ButtonChecked (BtnID) = ButtonChecked    Получить свойство(**)
iObject.SetButtonChecked (BtnID, ButtonChecked)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonChecked (BtnID, &ButtonChecked)    Получить свойство
iObject->put_ButtonChecked (BtnID, ButtonChecked)    Установить свойство
Входные параметры:
Long BtnID    - идентификатор кнопки.
```


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

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


## ButtonHint - Строка подсказки для кнопки, отображаемая в Строке сообщений

Тип данных: BSTR (строка).
Синтаксис Automation:
```
ButtonHint = iObject.ButtonHint (BtnID)    Получить свойство (* )
ButtonHint = iObject.GetButtonHint (BtnID)    Установить свойство (* )
iObject.ButtonHint( BtnID ) = ButtonHint    Получить свойство(**)
iObject.SetButtonHint (BtnID, ButtonHint)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonHint (BtnID, &ButtonHint)    Получить свойство
iObject->put_ButtonHint (BtnID, ButtonHint)    Установить свойство
Входные параметры:
Long BtnID    - идентификатор кнопки.
```


## 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    - идентификатор кнопки.
```


## ButtonTips - Строка контекстной всплывающей подсказки для кнопки

Тип данных: BSTR (строка).
Синтаксис Automation:
```
ButtonTips = iObject.ButtonTips (BtnID)    Получить свойство (* )
ButtonTips = iObject.GetButtonTips (BtnID)    Установить свойство (* )
iObject.ButtonTips (BtnID) = ButtonTips    Получить свойство(**)
iObject.SetButtonTips (BtnID, ButtonTips)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ButtonTips (BtnID, &ButtonTips)    Получить свойство
iObject->put_ButtonTips (BtnID, ButtonTips)    Установить свойство
Входные параметры:
Long BtnID    - идентификатор кнопки.
```


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

Тип данных: из перечисления ButtonTypeEnum
Синтаксис Automation:
```
ButtonType = Object.ButtonType    Получить свойство (* )
Object.ButtonType = ButtonType    Установить свойство (* )
ButtonType = Object.GetButtonType()    Получить свойство(**)
Object.SetButtonType( ButtonType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ButtonType( &ButtonType )    Получить свойство
Object.put_ButtonType( ButtonType )    Установить свойство
```


## 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    - идентификатор кнопки.
```


## ResModule - Модуль с ресурсами битмапов

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


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

Интерфейс элемента панели свойств - Сетка c разнотипными ячейками.
Иерархия:
IDispatch
IKompasAPIObject
IPropertyControl
IPropertyParamGrid
Примечания:
Данный интерфейс можно получить через коллекцию элементов управления Панели свойств IPropertyControls.
Для IPropertyParamGrid можно создавать панели команд.
Для создания команд в IPropertyParamGrid добавлена поддержка интерфейса IPropertyToolBar.
Этот дополнительный интерфейс вида можно получить у интерфейса IPropertyParamGrid посредством вызова метода IUnknown::QueryInterface(const GUID far& iid, void** pif).
Версия Компас v23


## AddColumn - Добавить колонку

Синтаксис Automation:
```
BOOL AddColumn( BSTR Caption, BSTR Tips, BOOL ReadOnly );
```
Синтаксис COM:
```
HRESULT AddColumn( BSTR Caption, BSTR Tips, BOOL ReadOnly, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Caption    - заголовок,
Tips    - всплывающая строка,
ReadOnly    - признак - только чтение для ячеек в колонке.
```


## CellValue - Значение в ячейке

Тип данных: VARIANT
Синтаксис Automation:
```
CellValue = Object.CellValue( NRow, NCol )    Получить свойство (* )
Object.CellValue( NRow, NCol ) = CellValue    Установить свойство (* )
CellValue = Object.GetCellValue( NRow, NCol )    Получить свойство(**)
Object.SetCellValue( NRow, NCol, CellValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CellValue( NRow, NCol, &CellValue )    Получить свойство
Object.put_CellValue( NRow, NCol, CellValue )    Установить свойство
Входные параметры:
long NRow    - номер строки,
long NCol    - номер столбца.
```


## CellValueVisible - Отображать значение в ячейке

Тип данных: BOOL
Синтаксис Automation:
```
CellValueVisible = Object.CellValueVisible( NRow, NCol )    Получить свойство (* )
Object.CellValueVisible( NRow, NCol ) = CellValueVisible    Установить свойство (* )
CellValueVisible = Object.GetCellValueVisible( NRow, NCol )    Получить свойство(**)
Object.SetCellValueVisible( NRow, NCol, CellValueVisible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CellValueVisible( NRow, NCol, &CellValueVisible )    Получить свойство
Object.put_CellValueVisible( NRow, NCol, CellValueVisible )    Установить свойство
Входные параметры:
long NRow    - номер строки,
long NCol    - номер столбца.
```


## Clear - Очистить таблицу

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


## ColumnCount - Количество колонок

Тип данных: long
Синтаксис Automation:
```
ColumnCount = Object.ColumnCount    Получить свойство (* )
Object.ColumnCount = ColumnCount    Установить свойство (* )
ColumnCount = Object.GetColumnCount()    Получить свойство(**)
Object.SetColumnCount( ColumnCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnCount( &ColumnCount )    Получить свойство
Object.put_ColumnCount( ColumnCount )    Установить свойство
```


## ColumnWidth - Ширина колонки

Тип данных: long
Синтаксис Automation:
```
ColumnWidth = Object.ColumnWidth( Index )    Получить свойство (* )
Object.ColumnWidth( Index ) = ColumnWidth    Установить свойство (* )
ColumnWidth = Object.GetColumnWidth( Index )    Получить свойство(**)
Object.SetColumnWidth( Index, ColumnWidth )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnWidth( Index, &ColumnWidth )    Получить свойство
Object.put_ColumnWidth( Index, ColumnWidth )    Установить свойство
Входные параметры:
long Index    - индекс колонки.
```


## CurrentColumn - Текущая колонка

Тип данных: long
Синтаксис Automation:
```
CurrentColumn = Object.CurrentColumn    Получить свойство (* )
Object.CurrentColumn = CurrentColumn    Установить свойство (* )
CurrentColumn = Object.GetCurrentColumn()    Получить свойство(**)
Object.SetCurrentColumn( CurrentColumn )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CurrentColumn( &CurrentColumn )    Получить свойство
Object.put_CurrentColumn( CurrentColumn )    Установить свойство
```


## CurrentRow - Текущая строка

Тип данных: long
Синтаксис Automation:
```
CurrentRow = Object.CurrentRow    Получить свойство (* )
Object.CurrentRow = CurrentRow    Установить свойство (* )
CurrentRow = Object.GetCurrentRow()    Получить свойство(**)
Object.SetCurrentRow( CurrentRow )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CurrentRow( &CurrentRow )    Получить свойство
Object.put_CurrentRow( CurrentRow )    Установить свойство
```


## DeleteColumn - Удалить колонку

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


## DeleteRow - Удалить строку

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


## EnableEdit - Разрешить редактирование ячейки

Тип данных: BOOL
Синтаксис Automation:
```
EnableEdit = Object.EnableEdit( NRow, NCol )    Получить свойство (* )
Object.EnableEdit( NRow, NCol ) = EnableEdit    Установить свойство (* )
EnableEdit = Object.GetEnableEdit( NRow, NCol )    Получить свойство(**)
Object.SetEnableEdit( NRow, NCol, EnableEdit )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EnableEdit( NRow, NCol, &EnableEdit )    Получить свойство
Object.put_EnableEdit( NRow, NCol, EnableEdit )    Установить свойство
Входные параметры:
long NRow    - номер строки,
long NCol    - номер столбца.
```


## GroupColumn - Задание номера столбца, по которому будут сгруппированы данные

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


## InitCheckBoxCell - Инициализация ячейки с чекбоксом

Синтаксис Automation:
```
BOOL InitCheckBoxCell( long NRow, long NCol, BOOL Value );
```
Синтаксис COM:
```
HRESULT InitCheckBoxCell( long NRow, long NCol, BOOL Value, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение.
```


## InitColorCell - Инициализация ячейки выбора цвета

Синтаксис Automation:
```
BOOL InitColorCell( long NRow, long NCol, long Value );
```
Синтаксис COM:
```
HRESULT InitColorCell( long NRow, long NCol, long Value, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение.
```


## InitColumn - Инициализация параметров колонки

Синтаксис Automation:
```
BOOL InitColumn( long Index, BSTR Caption, BSTR Tips, BOOL ReadOnly );
```
Синтаксис COM:
```
HRESULT InitColumn( long Index, BSTR Caption, BSTR Tips, BOOL ReadOnly, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index    - индекс колонки,
Caption    - заголовок,
Tips    - всплывающая строка,
ReadOnly    - признак - только чтение для ячеек в колонке.
```


## InitColumnIcon - Инициализация колонки с иконкой

Синтаксис Automation:
```
BOOL InitColumnIcon( long Index, long Icon, BSTR IconFont );
```
Синтаксис COM:
```
HRESULT InitColumnIcon( long Index, long Icon, BSTR IconFont, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index    - индекс колонки,
Icon    - идентификатор иконки из шрифта,
IconFont    - шрифт.
```


## InitIconsComboCell - Инициализация ячейки со списком значений c иконками

Синтаксис Automation:
```
BOOL InitIconsComboCell( long NRow, long NCol, long CurrentValueIndex, VARIANT OptionsList, VARIANT OptionsIcons, VARIANT OptionsIconFonts );
```
Синтаксис COM:
```
HRESULT InitIconsComboCell( long NRow, long NCol, long CurrentValueIndex, VARIANT OptionsList, VARIANT OptionsIcons, VARIANT OptionsIconFonts, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
CurrentValueIndex    - индекс текущего значения,
OptionsList    - список значений,
OptionsIcons    - список иконок,
OptionsIconFonts    - список шрифтов.
```


## InitIntCell - Инициализация целочисленной ячейки

Синтаксис Automation:
```
BOOL InitIntCell( long NRow, long NCol, long Value, long SpinValue, long MinValue, long MaxValue );
```
Синтаксис COM:
```
HRESULT InitIntCell( long NRow, long NCol, long Value, long SpinValue, long MinValue, long MaxValue, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение,
SpinValue    - шаг изменения значения,
MinValue    - минимальное значение,
MaxValue    - максимальное значение.
```


## InitIntComboCell - Инициализация целочисленной ячейки со списком значений

Синтаксис Automation:
```
BOOL InitIntComboCell( long NRow, long NCol, long Value, VARIANT OptionsList, BOOL Sorted );
```
Синтаксис COM:
```
HRESULT InitIntComboCell( long NRow, long NCol, long Value, VARIANT OptionsList, BOOL Sorted, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение,
OptionsList    - список значений,
Sorted    - сортировать.
```


## InitLinkCell - Инициализация ячейки со ссылкой

Синтаксис Automation:
```
BOOL InitLinkCell( long NRow, long NCol, BSTR Value );
```
Синтаксис COM:
```
HRESULT InitLinkCell( long NRow, long NCol, BSTR Value, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение.
```


## InitMarkingCell - Инициализация ячейки "обозначение"

Синтаксис Automation:
```
BOOL InitMarkingCell( long NRow, long NCol, BSTR Marking, BOOL AdditionalNumberVisibility, BOOL DocCodeVisibility );
```
Синтаксис COM:
```
RESULT InitMarkingCell( long NRow, long NCol, BSTR Marking, BOOL AdditionalNumberVisibility, BOOL DocCodeVisibility, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Marking    - обозначение,
AdditionalNumberVisibility    - видимость дополнительного номера,
DocCodeVisibility    - видимость кода документа.
```


## InitRealCell - Инициализация вещественной ячейки

Синтаксис Automation:
```
BOOL InitRealCell( long NRow, long NCol, double Value, double SpinValue, double MinValue, double MaxValue );
```
Синтаксис COM:
```
HRESULT InitRealCell( long NRow, long NCol, double Value, double SpinValue, double MinValue, double MaxValue, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение,
SpinValue    - шаг изменения значения,
MinValue    - минимальное значение,
MaxValue    - максимальное значение.
```


## InitRealComboCell - Инициализация вещественной ячейки со списком значений

Синтаксис Automation:
```
BOOL InitRealComboCell( long NRow, long NCol, double Value, VARIANT OptionsList, BOOL Sorted );
```
Синтаксис COM:
```
HRESULT InitRealComboCell( long NRow, long NCol, double Value, VARIANT OptionsList, BOOL Sorted, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - значение,
OptionsList    - список значений,
Sorted    - сортировать.
```


## InitStringCell - Инициализация строковой ячейки

Синтаксис Automation:
```
BOOL InitStringCell( long NRow, long NCol, BSTR Text );
```
Синтаксис COM:
```
HRESULT InitStringCell( long NRow, long NCol, BSTR Text, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер колонки,
Text    - текст.
```


## InitStringComboCell - Инициализация строковой ячейки со списком значений

Синтаксис Automation:
```
BOOL InitStringComboCell( long NRow, long NCol, BSTR Value, VARIANT OptionsList );
```
Синтаксис COM:
```
HRESULT InitStringComboCell( long NRow, long NCol, BSTR Value, VARIANT OptionsList, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NRow    - номер строки,
NCol    - номер столбца,
Value    - обозначение,
OptionsList    - список значений.
```


## ReadOnly - Запрет редактирования таблицы

Тип данных: BOOL
Синтаксис Automation:
```
ReadOnly = Object.ReadOnly    Получить свойство (* )
Object.ReadOnly = ReadOnly    Установить свойство (* )
ReadOnly = Object.GetReadOnly()    Получить свойство(**)
Object.SetReadOnly( ReadOnly )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReadOnly( &ReadOnly )    Получить свойство
Object.put_ReadOnly( ReadOnly )    Установить свойство
```


## RowCount - Количество строк

Тип данных: long
Синтаксис Automation:
```
RowCount = Object.RowCount    Получить свойство (* )
Object.RowCount = RowCount    Установить свойство (* )
RowCount = Object.GetRowCount()    Получить свойство(**)
Object.SetRowCount( RowCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RowCount( &RowCount )    Получить свойство
Object.put_RowCount( RowCount )    Установить свойство
```


## UpdateParam - Обновить параметры сетки

Синтаксис Automation:
```
void UpdateParam();
```
Синтаксис COM:
```
HRESULT UpdateParam( void * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


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

Интерфейс элемента панели свойств - Дерево.
Иерархия:
IDispatch
IKompasAPIObject
IPropertyControl
IPropertyTree
Примечания:
Данный интерфейс можно получить через коллекцию элементов управления Панели свойств IPropertyControls.
Для IPropertyTree можно создавать панели команд.
Для создания команд в IPropertyTree добавлена поддержка интерфейса IPropertyToolBar.
Этот дополнительный интерфейс вида можно получить у интерфейса IPropertyTree посредством вызова метода IUnknown::QueryInterface(const GUID far& iid, void** pif).
Версия Компас v23


## AddNode - Добавить узел в дерево

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


## AutoSize - Автоматический расчет высоты контрола. TRUE - Растягивать на всю доступную область

Тип данных: BOOL
Синтаксис Automation:
```
AutoSize = Object.AutoSize    Получить свойство (* )
Object.AutoSize = AutoSize    Установить свойство (* )
AutoSize = Object.GetAutoSize()    Получить свойство(**)
Object.SetAutoSize( AutoSize )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoSize( &AutoSize )    Получить свойство
Object.put_AutoSize( AutoSize )    Установить свойство
```


## CreateNode - Создать новый узел дерева

Синтаксис Automation:
```
LPDISPATCH CreateNode( BSTR Name );
```
Синтаксис COM:
```
HRESULT CreateNode( BSTR Name, IPropertyTreeNode ** Result );
Входные параметры:
Name    - имя.
Возвращаемое значение:
- Указатель на интерфейс IPropertyTreeNode.
```


## EnableDrag - Разрешить перемещение узлов в дереве

Тип данных: BOOL
Синтаксис Automation:
```
EnableDrag = Object.EnableDrag    Получить свойство (* )
Object.EnableDrag = EnableDrag    Установить свойство (* )
EnableDrag = Object.GetEnableDrag()    Получить свойство(**)
Object.SetEnableDrag( EnableDrag )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EnableDrag( &EnableDrag )    Получить свойство
Object.put_EnableDrag( EnableDrag )    Установить свойство
```


## FindNodeByName - Найти узел по имени

Синтаксис Automation:
```
LPDISPATCH FindNodeByName( BSTR Name );
```
Синтаксис COM:
```
HRESULT FindNodeByName( BSTR Name, IPropertyTreeNode * * Result );
Входные параметры:
Name    - имя узла.
Возвращаемое значение:
- Указатель на интерфейс IPropertyTreeNode.
```


## FindNodeByNodeData - Найти узел по данным библиотеки

Синтаксис Automation:
```
LPDISPATCH FindNodeByNodeData( int64 Data );
```
Синтаксис COM:
```
HRESULT FindNodeByNodeData( int64 Data, IPropertyTreeNode * * Result;
Входные параметры:
Data    - идентификатор или данные для узла дерева.
Возвращаемое значение:
- Указатель на интерфейс IPropertyTreeNode.
```


## MinHeight - Минимальная высота дерева

Тип данных: long
Синтаксис Automation:
```
MinHeight = Object.MinHeight    Получить свойство (* )
Object.MinHeight = MinHeight    Установить свойство (* )
MinHeight = Object.GetMinHeight()    Получить свойство(**)
Object.SetMinHeight( MinHeight )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MinHeight( &MinHeight )    Получить свойство
Object.put_MinHeight( MinHeight )    Установить свойство
```


## MultiSelect - Разрешить множественный выбор узлов в дереве

Тип данных: BOOL
Синтаксис Automation:
```
MultiSelect = Object.MultiSelect    Получить свойство (* )
Object.MultiSelect = MultiSelect    Установить свойство (* )
MultiSelect = Object.GetMultiSelect()    Получить свойство(**)
Object.SetMultiSelect( MultiSelect )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MultiSelect( &MultiSelect )    Получить свойство
Object.put_MultiSelect( MultiSelect )    Установить свойство
```


## Resizable - Разрешить изменять высоту дерева

Тип данных: BOOL.
Синтаксис Automation:
```
Resizable = Object.Resizable    Получить свойство (* )
Object.Resizable = Resizable)    Установить свойство (* )
Resizable = Object.GetResizable()    Получить свойство(**)
Object.SetResizable( Resizable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Resizable( &Resizable )    Получить свойство
Object.put_Resizable( Resizable )    Установить свойство
```


## RootNode - Корневой узел дерева

Тип данных: Указатель на интерфейс IPropertyTreeNode
Синтаксис Automation:
```
RootNode = Object.RootNode    Получить свойство (* )
RootNode = Object.GetRootNode()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_RootNode( &RootNode )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## SelectedNodes - Получить список выделенных узлов

Тип данных: VARIANT
Синтаксис Automation:
```
SelectedNodes = Object.SelectedNodes    Получить свойство (* )
SelectedNodes = Object.GetSelectedNodes()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SelectedNodes( &SelectedNodes )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс модели узла Дерева.
Иерархия:
IDispatch
IKompasAPIObject
IPropertyTreeNode
Примечание:
Интерфейс можно получить, используя методы интерфейса IPropertyTree.
Версия Компас v23


## AddNode - Добавить узел в дерево

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


## BringIntoView - Прокрутить к узлу

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


## Child - Получить дочерний узел по индексу

Тип данных: Указатель на интерфейс IPropertyTreeNode
Синтаксис Automation:
```
Child = Object.Child( Index )    Получить свойство (* )
Child = Object.GetChild( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Child( Index, &Child )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ChildsCount - Количество дочерних узлов

Тип данных: long
Синтаксис Automation:
```
ChildsCount = Object.ChildsCount    Получить свойство (* )
ChildsCount = Object.GetChildsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ChildsCount( &ChildsCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Delete - Удалить узел

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


## DeleteNode - Удалить дочерний узел

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


## DeleteSubItems - Удалить все дочерние узлы

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


## DragPermitted - Разрешить перемещение узла

Тип данных: BOOL
Синтаксис Automation:
```
Object.DragPermitted = DragPermitted    Получить свойство (* )
Object.SetDragPermitted( DragPermitted )    Получить свойство (**)
```
Синтаксис COM:
```
Object.put_DragPermitted( DragPermitted )    Получить свойство
```


## DropPermission - Разрешение для завершения перемещения

Тип данных: из перечисления ksDropPermissionEnum
Синтаксис Automation:
```
Object.DropPermission = DropPermission    Получить свойство (* )
Object.SetDropPermission( DropPermission )    Получить свойство (**)
```
Синтаксис COM:
```
Object.put_DragPermitted( DragPermitted )    Получить свойство
```


## EditText - Начинает редактирование заголовка узла

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


## Expanded - Раскрыт ли узел

Тип данных: BOOL
Синтаксис Automation:
```
Expanded = Object.Expanded    Получить свойство (* )
Object.Expanded = Expanded    Установить свойство (* )
Expanded = Object.GetExpanded()    Получить свойство(**)
Object.SetExpanded( Expanded )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Expanded( &Expanded )    Получить свойство
Object.put_Expanded( Expanded )    Установить свойство
```


## HideHeader - Скрывает заголовок узла и раскрывает дочерние узлы

Синтаксис Automation:
```
void HideHeader();
```
Синтаксис COM:
```
HRESULT HideHeader();
```


## IsRootNode - Является ли корневым узлом

Тип данных: BOOL
Синтаксис Automation:
```
IsRootNode = Object.IsRootNode    Получить свойство (* )
IsRootNode = Object.GetIsRootNode()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsRootNode( &IsRootNode )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## IsSelected - Признак выделенного узла

Тип данных: BOOL
Синтаксис Automation:
```
IsSelected = Object.IsSelected    Получить свойство (* )
Object.IsSelected = IsSelected    Установить свойство (* )
IsSelected = Object.GetIsSelected()    Получить свойство(**)
Object.SetIsSelected( IsSelected )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_IsSelected( &IsSelected )    Получить свойство
Object.put_IsSelected( IsSelected )    Установить свойство
```


## ItemsHolder - Признак узла, содержащего дочерние узлы. Дочерние узлы могут отсутствовать

Тип данных: BOOL
Синтаксис Automation:
```
ItemsHolder = Object.ItemsHolder    Получить свойство (* )
Object.ItemsHolder = ItemsHolder    Установить свойство (* )
ItemsHolder = Object.GetItemsHolder()    Получить свойство(**)
Object.SetItemsHolder( ItemsHolder )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ItemsHolder( &ItemsHolder )    Получить свойство
Object.put_ItemsHolder( ItemsHolder )    Установить свойство
```


## MoveNodes - Переместить узлы

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


## NodeData - Данные узла

Тип данных: int64
Синтаксис Automation:
```
NodeData = Object.NodeData    Получить свойство (* )
Object.NodeData = NodeData    Установить свойство (* )
NodeData = Object.GetNodeData()    Получить свойство(**)
Object.SetNodeData( NodeData )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NodeData( &NodeData )    Получить свойство
Object.put_NodeData( NodeData )    Установить свойство
```


## ParentNode - Получить родительский узел

Тип данных: Указатель на интерфейс IPropertyTreeNode
Синтаксис Automation:
```
ParentNode = Object.ParentNode    Получить свойство (* )
ParentNode = Object.GetParentNode()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParentNode( &ParentNode )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## SetNodeIcon - Установить иконку

Синтаксис Automation:
```
BOOL SetNodeIcon( long Icon, BSTR IconFont );
```
Синтаксис COM:
```
HRESULT SetNodeIcon( long Icon, BSTR IconFont, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Icon    - идентификатор иконки из шрифта,
IconFont    - шрифт.
```


## Text - Текст узла

Тип данных: BSTR
Синтаксис Automation:
```
Text = Object.Text    Получить свойство (* )
Object.Text = Text    Установить свойство (* )
Text = Object.GetText()    Получить свойство(**)
Object.SetText( Text )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Text( &Text )    Получить свойство
Object.put_Text( Text )    Установить свойство
```
