docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
15 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IPropertyList | interface |
|
|
|
*API интерфейсов. Версия 7 > Приложение > Работа с Панелью свойств > Интерфейс IPropertyControl > IPropertyControl - свойства *
Интерфейс IPropertyList
Интерфейс элемента управления Панели свойств Поле со списком.
| Элемент панели свойств |
| Иерархия: |
| IKompasAPIObject |
| IPropertyControl |
| IPropertyList |
| Примечание: |
- Данный интерфейс можно получить через интерфейс коллекции элементов управления панели свойств IPropertyControls.
- При нажатии на кнопку элемента управления вызывается событие ksPropertyManagerNotify::ControlCommand.
- При изменении значения элемента управления вызывается событие ksIPropertyManagerNotify::ChangeControlValue.
Add - Добавить значение в список
Синтаксис Automation:
void Add (const VARIANT& newVal);
Синтаксис COM:
HRESULT Add ([in]VARIANT newVal);
Входные параметры:
newVal - новое значение в раскрывающемся списке.
Примечание:
- Тип данных нового значения определяется типом элемента управления из перечисления ControlTypeEnum: •для типа ksControlListInt используется тип long, •для типа ksControlListReal используется тип double, •для типа ksControlListStr ограничения на значение не накладываются, •для типа ksControlListLength используется тип double, •для типа ksControlListAngle используется тип double.
- В список можно добавить только уникальные значения. Если в списке уже есть значение, которое пытаются добавить повторно, то оно не будет добавлено.
- В список можно сразу передать массив значений. Пример...
- См. также: IPropertyControl::Value - Значение элемента управления.
Пример передачи в список массива
long varsCount = 100; // Массив для наполнения комбобокса SAFEARRAYBOUND sabNewArray; sabNewArray.cElements = varsCount; sabNewArray.lLbound = 0; SAFEARRAY * pSafe = ::SafeArrayCreate( VT_R8, 1, &sabNewArray ); if( pSafe ) { for ( long j = 0; j < varsCount; j++ ) { double val = j * 0.5; ::SafeArrayPutElement( pSafe, &j, &val); } _variant_t varArr; varArr.vt = VT_ARRAY | VT_R8; varArr.parray = pSafe; // Передадим массив значений в контрол dt->Add( varArr );
CheckState - Состояние опции
Тип данных: состояние опции из перечисления CheckStateEnum. Синтаксис Automation:
CheckState = iObject.CheckState Получить свойство (* )
iObject.CheckState = CheckState Установить свойство (* )
CheckState = iObject.GetCheckState() Получить свойство(**)
iObject.SetCheckState (CheckState) Установить свойство (**)
Синтаксис COM:
iObject->get_CheckState (&CheckState) Получить свойство
iObject->put_CheckState (CheckState) Установить свойство
Примечание: Это свойство влияет на состояние переключателя, если свойство WithCheck имеет значение TRUE, и на отображение текста в поле элемента управления, подробнее см. CheckStateEnum.
ClearList - Очистить список значений
Синтаксис Automation:
void ClearList();
Синтаксис COM:
HRESULT ClearList();
Примечание: Очищает раскрывающийся список и содержимое его поля ввода.
Count - Количество элементов списка
Тип данных: long. Синтаксис Automation:
Count = Object.Count Получить свойство (* )
Count = Object.GetCount() Получить свойство(**)
Синтаксис COM:
Object.get_Count( &Count ) Получить свойство
Примечание: Свойство доступно только для чтения.
Find - Найти индекс строки в списке по значению
Синтаксис Automation:
long Find (const VARIANT FAR& val);
Синтаксис COM:
HRESULT Find([in] VARIANT Val, [out, retval] long * PVal);
Входные параметры:
val - значение в раскрывающемся списке.
Возвращаемое значение:
Индекс строки со значением val в списке - в случае успеха,
-1 - в случае неудачи.
Примечание: Метод работает только на несортированном списке, см. IPropertyList::Sort.
MaxValue - Максимальное значение
Тип данных: VARIANT (long или double). Синтаксис Automation:
MaxValue = iObject.MinValue Получить свойство (* )
MaxValue = iObject.GetMinValue() Получить свойство(**)
Синтаксис COM:
iObject->get_MaxValue (&MaxValue) Получить свойство
Примечание:
- Свойство доступно только для чтения.
- Тип данных определяется типом элемента управления из перечисления ControlTypeEnum: •для типа ksControlListInt используется тип long, •для типа ksControlListReal используется тип double, •для типа ksControlListStr ограничения на значение не накладываются, •для типа ksControlListLength используется тип double, •для типа ksControlListAngle используется тип double.
MinValue - Минимальное значение
Тип данных: VARIANT (long или double). Синтаксис Automation:
MinValue = iObject.MinValue Получить свойство (* )
MinValue = iObject.GetMinValue() Получить свойство(**)
Синтаксис COM:
iObject->get_MinValue (&MinValue) Получить свойство
Примечание:
- Свойство доступно только для чтения.
- Тип данных определяется типом элемента управления из перечисления ControlTypeEnum: •для типа ksControlListInt используется тип long, •для типа ksControlListReal используется тип double, •для типа ksControlListStr ограничения на значение не накладываются, •для типа ksControlListLength используется тип double, •для типа ksControlListAngle используется тип double.
Precision - Точность сравнения
Тип данных: double. Синтаксис Automation:
Precision = iObject.Precision Получить свойство (* )
iObject.Precision = Precision Установить свойство (* )
Precision = iObject.GetPrecision() Получить свойство(**)
iObject.SetPrecision(Precision) Установить свойство (**)
Синтаксис COM:
iObject->get_Precision(&Precision) Получить свойство
iObject->put_Precision(Precision) Установить свойство
Примечание:
- Свойство позволяет установить точность сравнения значений в списке. Сравнение происходит при добавлении значения в список IPropertyList::Add.
- Если добавляемое значение в списке есть, то оно не добавляется при установке значения IPropertyControl::Value.
- Если устанавливается значение, которое есть в списке, оно селектируется при поиске IPropertyList::Find.
- Свойство работает для вещественных типов списка: ksControlListReal, ksControlListLength, ksControlListAngle.
- По умолчанию устанавливается точность 0.000001.
ReadOnly - Запрет редактирования значения
Тип данных: BOOL. Синтаксис Automation:
ReadOnly = iObject.ReadOnly Получить свойство (* )
iObject.ReadOnly = ReadOnly Установить свойство (* )
ReadOnly = iObject.GetReadOnly() Получить свойство(**)
iObject.SetReadOnly (ReadOnly) Установить свойство (**)
Синтаксис COM:
iObject->get_ReadOnly (&ReadOnly) Получить свойство
iObject->put_ReadOnly (ReadOnly) Установить свойство
Значение свойства:
TRUE - ввод нового значения с клавиатуры в раскрывающийся список запрещен; элемент управления работает в режиме DropList,
FALSE - ввод нового значения с клавиатуры в раскрывающийся список разрешен; элемент управления работает в режиме DropDown,
SetCurrentByIndex - Установить текущую строку по индексу
Синтаксис Automation:
BOOL SetCurrentByIndex( long index );
Синтаксис COM:
HRESULT SetCurrentByIndex([in] long Index, [out, retval] VARIANT_BOOL * PVal);
Входные параметры:
index - номер строки в раскрывающемся списке.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод работает только на несортированном списке, см. IPropertyList::Sort.
SetValueRange - Установить новые ограничения на значение
Синтаксис Automation:
BOOL SetValueRange (const VARIANT& minVal, const VARIANT& maxVal);
Синтаксис COM:
HRESULT SetValueRange ([in] VARIANT minVal, [in] VARIANT maxVal, [out, retval] VARIANT_BOOL * pVal);
Входные параметры:
minVal - минимальное допустимое значение (тип данных long или double),
maxVal - максимальное допустимое значение (тип данных long или double).
Примечание: Тип данных максимального и минимального допустимого значения определяется типом элемента управления из перечисления ControlTypeEnum: •для типа ksControlListInt используется тип long, •для типа ksControlListReal используется тип double, •для типа ksControlListStr ограничения на значение не накладываются, •для типа ksControlListLength используется тип double, •для типа ksControlListAngle используется тип double.
Sort - Сортировать список
Тип данных BOOL. Синтаксис Automation:
Sort = iObject.Sort Получить свойство (* )
iObject.Sort = Sort Установить свойство (* )
Sort = iObject.GetSort() Получить свойство(**)
iObject.SetSort (Sort) Установить свойство (**)
Синтаксис COM:
iObject->get_Sort (&Sort) Получить свойство
iObject->put_Sort (Sort) Установить свойство
Значение свойства:
TRUE - значения в списке будут сортироваться при добавлении новых,
FALSE - значения в списке будут в той последовательности, в какой они были добавлены.
Step - Шаг
Тип данных: BOOL Синтаксис Automation:
Step = Object.Step Получить свойство (* )
Object.Step = Step Установить свойство (* )
Step = Object.GetStep() Получить свойство(**)
Object.SetStep( Step ) Установить свойство (**)
Синтаксис COM:
Object.get_Step( &Step ) Получить свойство
Object.put_Step( Step ) Установить свойство
Шаг изменения значения колесом мыши.
Width - Шаблон для расчета ширины элемента управления в горизонтальном положении (в символах)
Тип данных long. Синтаксис Automation:
Width = iObject.Width Получить свойство (* )
iObject.Width = Width Установить свойство (* )
Width = iObject.GetWidth() Получить свойство(**)
iObject.SetWidth (Width) Установить свойство (**)
Синтаксис COM:
iObject->get_Width (&Width) Получить свойство
iObject->put_Width (Width) Установить свойство
Значение свойства:
Количество видимых символов в поле при горизонтальном положении Панели свойств.
Примечание: Для расчета ширины элемента управления используется символ «0».
WithCheck - Наличие опции рядом с полем ввода
Тип данных: BOOL. Синтаксис Automation:
WithCheck = iObject.WithCheck Получить свойство (* )
iObject.WithCheck = WithCheck Установить свойство (* )
WithCheck = iObject.GetWithCheck() Получить свойство(**)
iObject.SetWithCheck (WithCheck) Установить свойство (**)
Синтаксис COM:
iObject->get_WithCheck (&WithCheck) Получить свойство
iObject->put_WithCheck (WithCheck) Установить свойство
Значение свойства:
TRUE - рядом с элементом управления выводится опция,
FALSE - рядом с элементом управления не выводится опция.
Примечание: На текущий момент свойство не реализовано, его значение можно установить только равным FALSE.
