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

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


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

![IPropertyEdit](../resources/images_ipropertyedit.jpg)

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


## 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.


## MaxValue - Максимальное значение

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


## MinValue - Минимальное значение

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


## 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    - ввод нового значения с клавиатуры в поле запрещен,
FALSE    - ввод нового значения с клавиатуры в раскрывающийся список разрешен.
```


## SetStringRegularValidator - Установить валидатор регулярного выражения для строкового редактора

Синтаксис Automation:
```
BOOL SetStringRegularValidator( BSTR InputMask, BSTR ValidateMask, BSTR ErrorMessage, BSTR EmptyStringErrorMessage );
```
Синтаксис COM:
```
HRESULT SetStringRegularValidator( BSTR InputMask, BSTR ValidateMask, BSTR ErrorMessage, BSTR EmptyStringErrorMessage, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
InputMask    - маска ввода,
ValidateMask    - маска допустимых символов,
ErrorMessage    - сообщение об ошибке,
EmptyStringErrorMessage    - сообщение для пустой строки.
Версия КОМПАС v22
```


## 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    - минимальное значение,
maxVal    - максимальное значение.
```
Примечание:
Тип данных максимального и минимального допустимого значения определяется типом элемента управления из перечисления ControlTypeEnum:
•для типа ksControlListInt используется тип long,
•для типа ksControlListReal используется тип double,
•для типа ksControlEditStr ограничения на значение не накладываются,
•для типа ksControlEditAngle используется тип double,
•для типа ksControlEditLength используется тип double,
•для типа ksControlEditPoint используется тип VT_ARRAY | VT_R8 - на 2 значения координат.


## 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    - рядом с элементом управления не выводится опция.
```
