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

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


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

![IPropertyFileName](../resources/images_ipropertyfilename.jpg)

Интерфейс элемента управления Панели свойств - Выбор файла.
| |
| --- |
Элемент панели свойств
Иерархия:
IKompasAPIObject
IPropertyControl
IPropertyFileName
Описание:
Элемент управления состоит из текстового поля и кнопки вызова диалога открытия файла.
Примечание:
1. Данный интерфейс можно получить, используя коллекцию элементов управления Панели свойств IPropertyControls.
1. При изменении значения параметра вызывается событие ksPropertyManagerNotify::ChangeControlValue.


## Bitmap - Рисунок кнопки

Функция не поддерживается
Тип данных: VARIANT (long или BSTR).
Синтаксис Automation:
```
iObject.Bitmap = Bitmap    Установить свойство (* )
iObject.SetBitmap (Bitmap)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->put_Bitmap (CreateOpenButton)    Установить свойство
```
Примечание:
1. Свойство доступно только для записи.
2. Позволяет задать изображение для кнопки вызова диалога открытия файла.
3. Изображение можно задать в виде идентификаторов в ресурсе dll-модуля (тип данных long) или в виде полного пути к bmp-файлу рисунка (тип данных BSTR).
4. Если изображение задается в виде идентификатора, то обязательно должен быть задан dll-модуль, в ресурсах которого лежат эти рисунки (см. ResModule).


## CreateOpenButton - Отображение кнопки выбора файла

Тип данных: BOOL.
Синтаксис Automation:
```
CreateOpenButton = iObject.CreateOpenButton    Получить свойство (* )
iObject.CreateOpenButton = CreateOpenButton    Установить свойство (* )
CreateOpenButton = iObject.GetCreateOpenButton()    Получить свойство(**)
iObject.SetCreateOpenButton (CreateOpenButton)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_CreateOpenButton (&CreateOpenButton)    Получить свойство
iObject->put_CreateOpenButton (CreateOpenButton)    Установить свойство
Значения свойства:
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 )    Установить свойство
```


## Extension - Расширение имени файла

Тип данных: BSTR (строка).
Синтаксис Automation:
```
Extension = iObject.Extension    Получить свойство (* )
iObject.Extension = Extension    Установить свойство (* )
Extension = iObject.GetExtension()    Получить свойство(**)
iObject.SetExtension (Extension)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Extension (&Extension)    Получить свойство
iObject->put_Extension (Extension)    Установить свойство
```
Примечание:
1. Свойство позволяет получить/задать расширение имени файла для диалога открытия файла, используемое по умолчанию.
2. Если пользователь при задании имени файла не укажет расширение, автоматически для открытия будут предлагаться файлы с заданным расширением имени.
3. Если присвоить свойству значение NULL, то расширение файлов должно задаваться пользователем явно.


## Filter - Активный фильтр типов файлов

Тип данных: BSTR (строка).
Синтаксис Automation:
```
Filter = iObject.Filter    Получить свойство (* )
iObject.Filter = Filter    Установить свойство (* )
Filter = iObject.GetFilter()    Получить свойство(**)
iObject.SetFilter (Filter)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Filter (&Filter)    Получить свойство
iObject->put_Filter (Filter)    Установить свойство
```
Примечание:
Диалог открытия файла имеет список так называемых фильтров, включающих названия типов файлов и расширения имен файлов данного типа. Выбрав фильтр, пользователь указывает, что он желает работать только с файлами определенного типа, имеющими соответствующее расширение. Файлы с другими расширениями в диалоге не отображаются. Одновременно можно указать несколько фильтров. Каждый фильтр задается двумя строками - строкой, содержащей имя фильтра, и строкой, в которой перечислены соответствующие ему расширения имен файлов. Если одному типу соответствует несколько расширений, они разделяются символом «;». Строка, содержащая имя фильтра, отделяется от строки с расширениями файлов символом «|». Если используется несколько фильтров, то они также отделяются друг от друга символом «|». Например, в качестве строки, задающей фильтры, можно использовать строку вида: КОМПАС-Детали (*.m3d)|*.m3d|Все файлы (*.*)|*.*||.


## Preview - Предварительный просмотр документа в диалоговом окне

Тип данных: BOOL
Синтаксис Automation:
```
Preview = Object.Preview    Получить свойство (* )
Object.Preview = Preview    Установить свойство (* )
Preview = Object.GetPreview()    Получить свойство(**)
Object.SetPreview( Preview )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Preview( &Preview )    Получить свойство
Object.put_Preview( Preview )    Установить свойство
```


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


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

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


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