Компонент TUniEdit

Вернуться к оглавлению

Компонент представляется собой панель (наследник от TCustomPanel), на которой размещается редактирующий контрол с меткой.

Преимущества по сравнению с использованием обычных редактирующих компонент заключаются, прежде всего, в гибкости и упрощении поддержки ПО в течение цикла разработки: для изменения типа редактирующего элемента (например, при переходе от TEdit к TComboBox) нет необходимости удалять прежний компонент и создавать новый, достаточно сменить способ редактирования свойством EditKind.

Кроме того, наличие собственной панели (подложки) и собственной метки контрола значительно упрощает размещение множества редактирующих элементов на форме. Например, есть у стандартного TEdit такой недостаток, как отсутствие свойства Align, в TUniEdit оно устранено.

Данный набор компонентов используется в TFastListView в качестве редактирующих компонентов при редактировании ячеек.


Компонент разрабатывался для Delphi 5, но работает так же и в Delphi 6, и должен работать в Delphi 7. В более поздних версиях Delphi и его клонов не тестировался.

Подробное описание

Компонент предоставляет во вне модуля, помимо класса TUniEdit, так же и класс TUniSource, который может быть использован для получения данных из базы данных (по крайней мере, для этого он задумывался). Впрочем, эта функциональность практически почти никогда не требовалась. В отдельном модуле UniSource.pas имеется так же определение компонента TUniPic. По сути, это отдельный компонент, и он может использоваться самостоятельно, но был изготовлен специально для использования в TUniEdit и используется в нём для хранения и отображения пиктограммы, если она требуется (группа свойств PicXXXX). Кроме того, во время исполнения могут использоваться классы редактирующих контролов TEditAny, TEditPeriod, TEditNum и т.д. - отдельно от TUniEdit. Впрочем, самостоятельное их использование вряд ли имеет какие-то преимущества.

Преимущества использования TUniEdit для ввода даты по сравнению со стандартным TDateTimePicker (в режиме ввода Kind = ekEditDate):

Первоначально компонент разрабатывался так, чтобы кнопки [...] и со стрелками (для ekEditPeriod) оказались визуально вписанными внутрь редактирующего элемента. Дело в том, что происходило это до того, как появился Windows XP с его темами и манифестом. В случае применения манифеста под темами XP внешний вид контролов TUniEdit оставался топорно-классическим, тем более что в качестве кнопок использоваться могли TBitBtn и TSpeedButton, несовместимые с манифестом тем XP. В новой версии эта проблема полностью устранена, в качестве кнопок используются наследники компонента TKnopka, полностью совместимые с манифестом, правда, вписывать их внутрь редактирующего элемента уже не получается. Если все еще есть необходимость использовать классический стиль и вписывание дополнительных кнопок как бы вовнутрь редактируемого поля, следует в проекте добавить символы INNER_BUTTONS и USE_STDBUTTONS. Дополнительное преимущество использования компонента TKnopka в качестве кнопок для стрелок - наличие свойство повторения срабатывания при удерживании кнопки в нажатом состоянии, позволяющее быстро перелистывать месяцы и годы в периоде, вместо того, чтобы делать это одиночными кликами.

 
TUniEdit TUniSource TUniPic

Свойства, события, методы класса TUniEdit, доступные в Инспекторе объектов и/или во время исполнения.

Хотя сам компонент TUniEdit произведён от TCustomPanel, его свойства, методы, события включают в себя свойства размещенного на нём редактирующего контрола. Чтобы не делегировать от редактирующего контрола все его свойства, существует свойство Control, через которое может быть получен (во время исполнения) собственно редактирующий контрол. Приводя его к соответствующему типу (например, TCombobox), можно получить доступ ко всем свойствам соответствующего контрола, при необходимости.

Синим цветом отмечены свойства, унаследованные от TCustomPanel и аналогичные свойствам стандартной панели TPanel,
а зелёным цветом отмечены свойства, принадлежащие редактирующему контролу. Обо всех таких свойствах подробную информацию можно найти в справке Delphi по соответствующим компонентам.

Публикуемые свойства (свойства, которые могут быть изменены Инспектором объектов в режиме дизайна формы).
Имя свойства Тип Начальное
значение
Описание
Align TAlign alNone Выравнивание контрола на родительском контроле на форме. В отличие от стандартных редактирующих контролов (TEdit, TCombobox, TCheckbox, TDateTimePicker), компонент TUniEdit может быть легко выровнен, что упрощает размещение большого числа редактирующих элементов на форме.
Anchors TAnchors [akLeft, akTop]  
Autosize Boolean TRUE Автоматическое вычисление размера контрола в зависимости от размеров редактирующего контрола, которые, в свою очередь, зависят от размера шрифта, взаимного размещения заголовка (Title) и редактирующего контрола (см. Layout), и от размера и местоположения используемой пиктограммы (если она используется).
BevelInner TPanelBevel bvNone  
BevelOuter TPanelBevel bvNone  
BevelWidth Integer 1  
BorderWidth Integer 4 Ширина бордюра напрямую относится к размеру бордюра панели, являющейся предком компонента TUniEdit и использующейся как подложка для прочих содержащихся на ней визуальных компонентов (метки, пиктограммы и собственно редактирующего элемента). Задаёт взаимное расстояние между этими визуальными компонентами и расстояние от них до края контрола.
Checked Boolean FALSE Данное свойство относится к редактирующему флажку TCheckbox, когда выбран режим редактирования Kind = ekCheck. Так же, данное свойство используется при режиме ekEditDate, когда предполагается использование флажка.
Color TColor clWindow Цвет фона окна редактирующего элемента (не панели!).
ComboStyle TComboBoxStyle csDropDown Только для режима Kind = ekCombo, задаёт стиль выпадающего списка. Допускается использование только стилей csDropDown и csDropDownList, прочие стили не тестировались! (Стиль csDropDownList следует выбрать, если требуется разрешить пользователю только выбирать один из элементов списка в качестве текущего, но запретить при этом редактировать содержимое с помощью клавиатуры - как обычно для TCombobox).
Constraints TSizeConstraints    
CurrencyCommaChar Char #0 Символ разделителя рублей и копеек при редактировании в режиме Kind = ekEditCurrency.
Cursor TCursor crDefault Редактирующий контрол имеет свой собственный курсор. Обычно изменять его не требуется, поэтому такое свойство в TUniEdit не экспортируется (при необходимости используйте доступ к самому редактирующему контролу через свойство Control).
DateFormat TDTDateFormat dfShort Формат даты для режима Kind = ekEditDate. Варианты см. в справке по стандартному компоненту TDateTimePicker.
DateTimeCheckbox Boolean FALSE Используется в режиме Kind = ekEditDate, соответствует свойству TDateTimePicker.ShowCheckbox. В случае значения TRUE слева от поля редактирования размещается флажок, сброшенное состояние которого соответствует отсутствию какого-либо выбранного значения даты/времени. Существует более простой и наглядный способ визуального выбора состояния "дата не выбрана". Достаточно присвоить численное значение 0, соответствующее 31 декабря 1899 года, и в поле ввода даты текст не отображается. Программно проверить можно сравнив значение DateTime с единицей (если < 1, то дата не выбрана).
Digits Integer -1 Используется в режиме редактирования вещественных чисел Kind = ekEditFloat. Задаёт число десятичных знаков после вещественной запятой. В случае значения -1 число десятичных знаков не контролируется компонентом.
DroppedWidth Integer 0 Используется в режиме комбо-списка Kind = ekCombo. Если не 0, то устанавливает ширину выпадающего списка в пикселях.
EllipsisButton TEllipsisButton ebNone Задает наличие и тип дополнительной кнопки с многоточием на ней, размещаемой справа от редактирующего элемента. Для обработки нажатия этой кнопки имеется особое событие OnEllipsis. Возможные значения свойства EllipsisButton:
ebNone - нет такой кнопки,
ebNormal - обычная кнопка с возможностью фокусировки,
ebSpeed - используется TSpeedButton, кнопка пользователю доступна только кликом мыши, и не фокусируется никаким способом,
ebHidden -
создаётся, но невидимый. Такой вариант может использоваться для выравнивания колонки из TUniEdit-контролов, выровненных свойством Align, в которой не все контролы имеют кнопку [...], в результате чего возникает рваный правый край.

Автору известна проблема с обновлением внешнего вида TUniEdit в режиме дизайнера формы, особенно сильно проявляющаяся при включении/выключении этого свойства. Но он так ленив, что вместо того, чтобы разобраться и пофиксить проблему, предлагает обновить внешний вид контрола на разрабатываемой форме другими способами. Например, закрыть проект, и затем открыть его снова. Впрочем, от того, прорисована кнопка [...] во время разработки или нет, внешний вид контрола во время выполнения не зависит.

Enabled Boolean TRUE Относится к редактирующему элементу, но влияет и на внешний вид надписи Title и всех дополнительных кнопок: в случае FALSE заголовок автоматически приобретает вид "недоступного". При этом становятся автоматически недоступны и все другие элементы, в том числе кнопка [...], при ее наличии.
ExitOnMaxLenExceed Boolean FALSE При установке данного свойства в значение TRUE, при достижении максимального число символов при вводе значения, автоматически выполняется выход из контрола (с переходом к следующему контролу на форме в порядке табуляции).
FitAligned Boolean TRUE По умолчанию, элементы на подложке размещаются так, чтобы занимать все свободное пространство (за исключением бордюра). Данное свойство может быть отключено (FALSE) для выровненного TUniEdit, в этом случае размеры редактирующего контрола далее не изменяются при изменении размеров самого TUniEdit. Для невыровненного контрола (Align = alNone) данное свойство игнорируется.
GrayReadOnly Boolean TRUE По умолчанию, установка свойства ReadOnly = TRUE делает фон редактирующего элемента более тесным, как для режима Enabled = FALSE. Данное свойство предназначено для отключения  стандартного поведения (цвет фона сохраняется).
Height Integer   Высота всего контрола, включая подложку и содержащиеся на ней визуальные элементы.
HelpContext Integer 0  
Hint String   Текст всплывающей подсказки (работает на всех элементах контрола).
Items TStrings   Данное свойство предназначено для редактора в режиме Kind = ekCombo, и позволяет на этапе дизайна формы задать первоначальный список элементов выпадающего списка. Во время исполнения, данное свойство так же доступно.
Kind TEditKind ekEdit Задаёт тип редактирующего элемента. Возможные варианты:
ekEdit - поле ввода текста,
ekEditNum - поле ввода целого числа,
ekEditFloat - поле ввода вещественного числа,
ekEditCurrency - поле ввода денежных сумм,
ekEditDate - поле ввода/выбора даты (и/или времени),
ekEditPeriod - поле ввода/выбора периода,
ekCombo - поле ввода/выбора элемента (выпадающего) списка,
ekCheck - поле переключаемого флажка.
Разумеется, данное свойство, как и все прочие, может быть изменено не только в Инспекторе объектов на этапе разработки, но и во время исполнения.
KindPeriod TPeriodKind pkMonth Для режима Kind = ekPeriod, задаёт разновидность периода, который может быть выбран/отредактирован. Возможные варианты:
pkMonth - месяц+год,
pkDay - день+месяц+год,
pkDecade - декада месяца (т.е. 1я, 2я или 3я часть месяца)+месяц+год,
pkQuarter - квартал (I, II, III или IV)+год,
pkYear - год,
pkQuarterYear - целый год или квартал года+год (последний случай позволяет пользователю определить, имеется в виду весь год или только один квартал года, без дополнительных усилий со стороны программы).
Layout TLabelPosition lpLeft Положение заголовка на подложке. Другое возможное значение: lpTop.
Left Integer    
ListField String   Имя поля (результата запроса). Предназначено для автоматической загрузки значения из комонента TUniSource. Должно быть так же настроено свойство ListSource.
ListSource TUniSource   Ссылка на компонент типа TUniSource, через который выполняется связь с таблицей базы данных или с результатами запроса для загрузки данных в поля для редактирования значений.
MaxLength Integer 0 Максимальная длина редактируемой строки (Kind = ekEdit, ekCombo)
MaxValue Double 0 Максимальное численное значение для режимов Kind = ekEditNum, ekEditFloat. Действует, если MaxValue <> 0 или MinValue <> 0.
MinValue Double 0 Минимальное численное значение для режимов Kind = ekEditNum, ekEditFloat. Действует, если MaxValue <> 0 или MinValue <> 0.
OldComboWidth Boolean FALSE Из-за несколько странного поведения стандартного комбо-списка, использующегося в режиме Kind = ekCombo, его размер устанавливается на пару пикселей шире, чтобы компенсировать кажущуюся невыровненность по правому краю (в сравнении с Kind=ekEdit, например). Данное свойство запрещает данную корректировку ширины, если она чем-то не устраивает.

При использовании компонента TKnopka в качестве кнопок, которые более не "вписываются" (как бы) внутрь редактирующего элемента, данное свойство лучше не использовать.

PicAutoFit Boolean TRUE В случае TRUE высота пиктограммы подбирается по размеру контрола, изображение при этом растягивается или сжимается.
PicAutoSize Boolean TRUE Размер контейнера для пиктограммы выбирается от размера изображения. Данное свойство перекрывается свойством PicAutoFit, если то включено (TRUE).
PicCenterVertical Boolean TRUE Если пиктограмма меньше того размера, в который ее вписывает контрол (по вертикали), то вместо растягивания ее размера в большую сторону картинка центрируется в контроле. Данный режим подходит для случая, когда само изображение в картинке (или его основная смысловая часть) расположена в центре своего прямоугольника, а по краям имеется много свободного пространства.
PicHeight Integer   Высота пиктограммы, для программного управления при отключённых PicAutoFit и PicAutoSize.
PicImageIndex Integer 0 Индекс иконки в списке PicImageList, когда назначен список.
PicImageList TImageList   Список иконок, из которого берётся пиктограмма.
PicPicture TPicture   Свойство для загрузки картинки напрямую, без использования PicImageList.
PicStretch Boolean TRUE Растягивание изображения при несоответствии размера прямоугольника, занимаемого пиктограммой, и размером используемого изображения.
PicTransparent Boolean TRUE При использовании PicPicture с растровым изображением типа TBitmap, использовать левый нижний пиксель в качестве цвета прозрачности.
PicWidth Integer   Ширина пиктограммы, для программного управления при отключённых PicAutoFit и PicAutoSize.
ReadOnly Boolean FALSE Только чтение - для редактирующего контрола в режимах ekEditXXXX, ekCombo, ekEditDate, ekEditPeriod.
StdImage TStdImage   Выбор изображения из стандартных системных пиктограмм (иконок и битмапов). Работает, только если установлено свойство StdImgShowSize > 0. См. компонент TUniPic, который обеспечивает отрисовку.
StdImgShowSize Integer 0 Значение > 0 включает изображение стандартной иконки, если не присвоены PicPicture и ImageList.
TabOrder Integer   Порядок табуляции контрола (точнее, его панели подложки).
TabStop Boolean TRUE  
Tag Integer 0  
Text String   Содержимое редактирующего элемента во всех случаях. Для режиме Kind = ekCheck, это собственный заголовок флажка, расположенный справа от флажка.
Title String   Заголовок, отображаемый рядом с редактирующим элементом (слева или сверху, в зависимости от значения Layout). Реализуется в виде метки.
TitleAlign TAlignment taLeftJustify Выравнивание заголовка. В случае Layout = lpLeft имеет смысл, только если задан TitleWidth > 0 и больше ширины текста.
TitleWidth Integer 0 Ширина поля заголовка. В случае 0 (значение по умолчанию) ширина подбирается по ширине заголовка (т.е. поведение эквивалентно такому, при котором для метки, представляющей заголовок, включено свойство Autosize=TRUE). Использование данного свойства позволяет аккуратно выровнять заголовки расположенных друг под другом TUniEdit- контролов.
Top Integer    
Value Double 0 Числовое значение - для Kind = ekEditNum, ekEditFloat. Так же может использоваться для получения и присваивания значения во время исполнения для режимов Kind = ekEditDate, ekEditPeriod.
Visible Boolean TRUE  
Width Integer   Ширина подложки.

Публикуемые события (которые могут быть назначены или изменены Инспектором объектов в режиме дизайна формы).
Имя события Параметры обработчика Описание
OnChange (Sender: TObject) Вызывается, когда изменяется значение (Value, Text, Checked) редактирующего элемента.
OnCloseUp (Sender: TObject) Вызывается при скрытии выпадающего списка TCombobox-контрола (режим Kind = ekCombo)
OnDefaultDate (Sender: TObject; var D: TDateTime) Вызывается при выпадении календаря в режиме редактирования даты (ekEditDate), в случае, когда поле ввода было пустое (т.е. дата была 31 декабря 1899 г. или меньше, что считается "не присвоенным" состоянием и численно соответствует значениям меньше 1). Позволяет установить в качестве назначаемой даты, от которой начинается работа в календаре иную, нежели текущую дату.
OnDropDown (Sender: TObject) Вызывается при выпадении выпадающего списка TCombobox-контрола (режим Kind = ekCombo). Может использоваться программой для заполнения списка элементов непосредственно в момент выпадания).
OnEllipsis (Sender: TObject) Вызывается при нажатии на кнопку [...] (EllipsisButton = ebNormal или ebSpeed). Имеет смысл использовать эту кнопку для отображения расширенного диалога выбора значения, для которого проектируется отдельный диалог.
OnEnter (Sender: TObject) Вызывается при получении редактирующим контролом фокуса ввода.
OnKeyDown (Sender: TObject; var Key: Word;
Shift: TShiftState)
Позволяют обработать нажатия пользователем клавиш (редактирующий контрол - в фокусе ввода).
OnKeyPress (Sender: TObject; var Key: Char)
OnKeyUp (Sender: TObject; var Key: Char)
OnLeave (Sender: TObject) Вызывается при потере фокуса редактирующим контролом.
OnMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer)
Позволяют обработать события мыши. Координаты заданы в клиентских координатах панели подложки, т.е. самого TUniEdit, а не лежащих на нём визуальных элементов.
OnMouseMove (Sender: TObject; Shift: TShiftState;
X, Y: Integer)
OnMouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer)
OnOutbound ( Sender: TObject; const OldText: String ) Вызывается при выходе значения за заданные границы MinValue и MaxValue. Старый текст, переданный в качестве параметра, может использоваться для восстановления прежнего значения.

Свойства и методы времени исполнения класса TUniEdit, доступные из программы (секция PUBLIC).

Имя свойства Тип Только чтение Описание
Control TControl R Возвращает экземпляр редактирующего контрола, используемого для редактирования. Тип этого контрола зависит от того, в каком режиме находится TUniEdit. Получив ссылку на этот контрол, пользовательская программа может привести его тип к подходящему (например, к TCombobox - в режиме Kind = ekCombo), и получить доступ ко всем его свойствам и методам, не "выведеннным" во внешний интерфейс самого TUniEdit.
AsInteger Integer R/W Возвращает значение Value как целого числа, с отбрасыванием дробной части (Trunc) и позволяет присвоить значение как целочисленное.
DateTime TDateTime R/W То же, что и Value - для режимов Kind = ekEditDate, ekEditPeriod.
TitleHeight Integer R Возвращает высоту заголовка (имеет смысл для случая Layout = lpTop.
SelStart Integer R/W Доступ к соответствующему свойству редактирующего контрола (ekEdit, ekEditNum, ekEditFloat, ekCombo). Позиция (смещение в символах) начала выделения текста/положение каретки в окне редактируемого значения.
SelLength Integer R/W Размер выделения текста в редактирующем контроле (0 означает именно то, что выделено 0 символов).
DroppedDown Boolean R/W Возвращает TRUE, если список значений комбинированного списка (Kind = ekCombo) находится в "выпавшем" состоянии. Присваивание нового значения позволяет форсировать выпадение и скрытие списка значений программно.
ItemIndex Integer R/W Индекс выбранного элемента (Kind = ekCombo).
FocusEllipsisButton     Вызов данной процедуры позволяет передать фокус ввода кнопке [...] (при ее наличии и только в случае EllipsisButton = ebNormal).
Invalidate     Как обычно, заставляет контрол перерисовать себя при ближайшей возможности.
FontColor TColor R/W Цвет шрифта для редактирующего контрола. Для TUniEdit свойство Font не публикуется, предполагая, что будет достаточно использования шрифта родителького контрола или формы. Данное свойство переопределяет только цвет собственного шрифта редактирующего контрола.
 






 Свойства класса TUniSource, доступные из Инспектора объектов (событий нет).

Компонент TUniSource разработан (на скорую руку), для того чтобы автоматизировать загрузку значений из TFastListView или из  и обратно по окончании редактирования. Использовался редко. Как позже выяснилось, TUniEdit хорош и без привлечения TUniSource. Редактирование полей базы данных напрямую редко когда требуется. Несколько чаще применимо редактирование строк таблицы TFastListView, хотя позже была добавлена возможность редактирование произвольных ячеек TFastListView, в результате и эта функциональность так же оказалась практически ненужной.
 
Имя свойства или декларация метода Тип (свойства) Описание
FastListView TFastListView Список типа TFastListView, из которого берутся и в который возвращаются отредактированные данные.
Name String  
Tag Integer  
 

Свойства и методы класса TUniSource, доступные во время выполнения.

Для компонента
Имя свойства или декларация метода Тип (свойства) Описание
LinkedUniEditCount Integer Количество контролов TUniEdit, присоединившихся к данному "источнику".
LinkedUniEditControls[ Idx: Integer ] TUniEdit Доступ к списку контролов, присоединившихся к данному "источнику".
FieldExists( const AFieldName: String ) :Boolean Возвращает TRUE, если в исходном TFastListView есть колонка с таким именем поля или заголовком.
ListItemBeginEdit( LI: TFastListItem )   Инициирует начало редактирования содержимого строки LI таблицы TFastListView. До того, как начать редактирование, для всех присоединённых TUniEdit- контролов выполняется загрузка начальных значений данных из строки LI таблицы (вообще, списка, но поскольку он используется только в режиме lvsReport, выгляжит этот список именно как таблица).
ListItemEndEdit( LI: TFastListItem );   Завершает редактирование строки. Новые значения из всех TUniEdit записываются в строку (элемент) LI таблицы (списка) TFastListView.
function QueryInsert(const TableName: String;
const MoreValues: Array of Variant;
const MoreFields: String = ''; MoreParams: String = '';
const DoBefore: String = '';
const WhereConditions: String = ''): Integer
  Позволяет сохранить содержимое всех прилинкованных TUniEdit в таблицу базы данных. Параметры MoreValues и MoreFields могут использоваться для того, чтобы одновременно записать в таблицу еще несколько полей, не редактировавшихся с помощью TUniEdit. Строка DoBefore - это часть запроса до самой вставки, строка WhereConditions присоединяется к формируемой строке справа (и обычно содержит какие-либо дополнительные условия). Возвращаемый результат - это числовой результат с индексом 0. Подразумевается, что WhereConditions содержит в качестве завершающего фрагмента запрос select @@IDENTITY или select @@ROWCOUNT. Если сформированный запрос не возвращает результат, возвращается значение -1. В случае, если результат NULL, возвращается 0.

 

function QueryInsert_Str(const TableName: String;
const MoreValues: String = '';
const MoreFields: String = '';
const DoBefore: String = '';
const WhereConditions: String = '';
NeedIdentity: Boolean = TRUE): Integer
  Аналогично предыдущему, но значения дополнительных полей сохраняются именно как строки (для чего могут быть использованы функции StrToSQL, DateToSQL и другие - из модуля UtilsUnit).
function QueryUpdate(const TableName: String;
const MoreValues: array of Variant; MoreFields: String;
MoreParams: String; const DoBefore, WhereConditions: String): Boolean;
  Аналогично предыдущим функциям, но запись не добавляется в таблицу, а обновляется существующая.
function QueryUpdate_Str(const TableName: String;
const MoreValues: array of Variant; MoreFields: String;
MoreParams: String; const DoBefore, WhereConditions: String): Boolean;
  То же, что и выше, но дополнительные поля передаются в виде строк.
AdjustRestrictions( UniSource: TUniSource; const TableName: String )   Данная глобальная процедура позволяет применить ограничения на размеры полей, на число знаков после десятичной запятой на основании описания типа данных в таблице в базе данных - для всех TUniEdit- контролов, прилинкованных к указанному TUniSource.
 






Свойства, события и методы класса TUniPic, доступные на этапе разработки (они так же доступны и во время исполнения).

TUniPic - это специальный компонент на базе TGraphicControl. По своим возможностям подобен стандартному TImage. Основное различие заключается в том, что пиктограмма может храниться не только в самом контроле, но и в заданном списке пиктограмм (TImageList), а так же выбираться из списка стандартных системных ресурсов по имени ресурса. Используется в компоненте TUniEdit для отображения пиктограммы контрола.

Синим цветом отмечены свойства, аналогичные таким же из подобного компонента TImage.

Имя свойства / метода Тип Атрибуты
доступа
(для свойств)
Описание
Align TAlign alNone Выравнивание
Autosize Boolean FALSE Автоподгонка размера контрола по размеру изображения.
Cursor TCursor crDefault  
DesignTimeBorder BOOLEAN FALSE Отображать рамку вокруг контрола - в режиме дизайнера формы.
Height Integer    
Hint String    
ImageIndex Integer   Индекс пиктограммы в списке изображений (TImageList)
ImageList TImageList   Список изображений, из которого отображается пиктограмма с индексом ImageIndex.
Left Integer    
Name String    
Picture TPicture   Изображение, хранящееся в самом контроле.
StdImage TStdImage   Выбор стандартного изображения из системных ресурсов. Это изображение отображается в случае, если не присвоены свойства Picture и ImageList. Размер пиктограммы выбирается свойством StdImgSmall.
StdImgSmall Boolean FALSE Управляет размером отображаемой пиктограммы из списка стандартных системных пиктограмм. Для большинства ресурсов имеется два основных типоразмера, обычно это 16 и 24. Некоторые ресурсы (префикс oic) имеются только в форматах 16х16 и 32х32, другие (префикс obm) присутствуют только в минимальном варианте размера (17х17).
Stretch Boolean FALSE Растягивание/сжатие изображения по размеру контрола.
Tag      
Top      
Transparent Boolean TRUE Прозрачность изображения Picture по левому верхнему углу битмапа.
Width      
OnClick      
OnContextPopup      
OnDblCliсk      
OnDragDrop      
OnDragOver      
OnEndDrag      
OnMouseDown      
OnMouseMove      
OnMouseUo      
OnStartDock      
OnStartDrag      

 


(C) by Vladimir Kladov, 2000-2010