Пакет компонентов VisualTech
Для Lazarus 2.0 [Скачать]
TxDBGrid
Сетка с измененными офрмлением и свойствами
- Сетка поддерживает вывод до 2х полей в одном столбце,
смысл - как можно больше информации разместить на экране,
чтобы не пролистывать сетку влево, вправо.
TxColumn.FieldName - задает имя первого поля и
TxColumn.xFieldName - имя второго поля, соответственно в
TxColumn.Title есть Caption и xCaption для задания
заголовков.
- Перенос текста в ячейках. TxColumn.WordWrap задает перенос
для первого поля и TxColumn.xWordWrap для второго поля.
- Автоматически регулируемая ширина колонок в процентном
отношении к ширине сетки. Свойство TxColumn.PrcWidth задает
процент ширины. Сумма всех значений этого свойства для всех
столбцов в сетке, не должна превышать 100.
- Вывод иконок в ячейках сетки. TxDBGrid.ImagesList - задает
библиотеку иконок. TxColumn.ImageIndexes - задает
какое изображение рисовать в зависимости от значения поля. В
визуальном редакторе свойства указать в поле Key - значение
поля базы данных в поле Values указать номер иконки (номер
иконки прописывается сам если щелкнуть на изображении иконки
в редакторе).
- Регулируемая высота строк. TxDBGrid.IncRowHeight - задает
прирощение к высоте строки.
- Подсветка строк и отдельных полей. TxDBGrid.RowHighLights
- свойство в виде колекции, которое задает подсветку строк.
У каждого экземплячра коллекции свойства: CellOnly - задает
посвечивать ячейку или всю строку, FieldName - задает
ключевое поле набора данных, на значение которого будет
ориентрироваться программа, FieldValue - задает значение
поля, при котором применять настройки подсветки, Color и
FontColor задают фон ячейки и цвет шрифта для поля FieldName
если в нем значение FieldValue. Для каждого поля можно
создавать несколько экземпляров коллекции подсветки.
Настройки подсветки применяются в порядке очередности их
следования в коллекции. Поэтому сначала нужно создать
экземпляры коллекции которые будут задавать подсветку строк,
затем те, что будут задавать подсветку отдельных полей
(экземпляры коллекции подсветки со свойством CellOnly =
True)
- Подсветка текущей активной строки.
TxDBGrid.RowHightLightColor - задает цвет активной строки,
по умолчанию кремовый. TxDBGrid.Options.RowHgithLight
включает и выключает подсветку активной строки.
- InsertAction: TAction - назначьте действие, которое будет
вызываться при нажатии в сетке на клавишу <Ins>
- EditAction: TAction - назначьте действие, которое будет
вызываться при нажатии в сетке на клавишу <F4>
- DeleteAction: TAction - назначьте действие, которое будет
вызываться при нажатии в сетке на клавишу <Ctrl> +
<Del>
- SelectAction: TAction - назначьте действие, которое будет
вызываться при нажатии в сетке на клавишу <Enter>
TBarCodeHook
TBarCodeHook - компонент
облегчающий работу со сканером штрихкода, работающим в
разрыв клавиатуры.
Принцып работы компонента:
Компонент проверяет скорость поступления символов с
клавиатуры, если в потоке присутствуют только цифры, и
скорость их поступления не менее контрольной величины, то
компонент считает, что символы вводятся со сканера
штрихкода. По окончании ввода генерируется событие
OnBarCode, введеный штрихкод доступен в свойстве BarCode.
Свойства:
TBarCodeHook.CompletingKey: Integer - код клавиши
завершающей ввод штрихкода, по умолчанию 13 (клавиша
<Enter>), когда в потоке встречается этот год,
генерируется событие OnBarCode.
TBarCodeHook.ClearKey: Boolean - Если True, то когда
компонент слушает сканер (пока свойство Active = True) он
убирает из потока перехваченные коды клавиш, может
затруднить ввод цифр с клавиатуры и сделать его не
корректным. По умолчанию True.
TBarCodeHook.DelayTime - Величина в миллисекундах, в течении
которого компонент ждет появления следующего цифрового
символа, если скорость появления символов в потоке больше
этой величины, коспонент считает что символы вводятся не со
сканера.
TBarCodeHook.Active: Boolean - включает и выключает работу
компонента, когда True компонент активен и перехватывает
ввод цифр с клавиатуры.
Особенности работы:
Когда свойство компонента Active устанавливается в True,
компонент устанавливает свой обработчик события OnKeyDown на
форму, на которой он размещен и свойство формы KeyPreview
переводит в True, поэтому работать может только на форме, в
TDataModule и TFrame работать не будет.
TFormsBar
TFormsBar - панель MDI окон,
компонент эмулирующий работу MDI.
У компоненты 2 системные кнопки (HomeButton и SysButton), на
скриншоте на кнопке HomeButton зеленый плюс, на SysButton
красный крест. Иконки и выполняемые действия на системные
кнопки Вы назначаете сами. На первую кнопку обычно
назначается всплывающее меню, на вторую, закрытие активного
окна. Системные кнопки могут быть спрятаны.
Принцип работы:
Вы создаете форму и регистрируете её на панели FormsBar с
номером иконки, в момент регистрации на FomrsBar добавляется
кнопка формы с указанной иконкой, надпись на кнопке
соответствует свойству Caption регистрируемой формы. У формы
убирается рамка, она разворачивается на все доступное
клиентское пространство. При переключении кнопок на
FormsBar, активируется соответсвующая форма, привязанная к
кнопке. При разрушении формы, кнопка автоматически
разрушается.
Методы:
procedure
AddForm(AForm: TCustomForm; IconIndex: Integer = -1)
Регистрирует форму с номером иконки IconIndex из ImageList,
кнопка формы добавляется в конец, после всех уже имеющихся
кнопок (кроме системных).
procedure
InsertForm(AForm, AfterForm: TCustomForm; IconIndex:
Integer = -1) Регистрирует форму с номером иконки
IconIndex из ImageList, кнопка формы добавляется после
кнопки, к которой привязана форма указанная в парметре
AfterForm.
procedure
InsertFormWithParent(AForm, ParentForm: TCustomForm)
Регистрирует форму AForm с номером иконки IconIndex из
ImageList, кнопка формы добавляется после кнопки, к которой
привязана форма указанная в парметре ParentForm, сама
ParentForm становится недоступной пока не будет закрыта
AForm, что-то вроде ShowModal из 2х форм, обычно
используется чтобы заблокировать форму журнал документов,
пока открыт его редактор.
procedure
ReplaceForm(NewForm, OldForm: TCustomForm; IconIndex:
Integer = -1) Регистрирует форму NewForm с номером
иконки IconIndex из ImageList, кнопка формы заменяет кнопку,
к которой привязана форма указанная в парметре OldForm, сама
OldForm при этом не разрушается и если OldForm Вам больше не
нужна, Вы сами должны принять меры по уничтожению OldForm.
procedure
ActivateForm(AForm: TCustomForm) Активирует форму
AForm и соответствующую ей кнопку. Если у формы свойство
Enabled = False, то этот метод не сможет активировать форму,
Ваша задача перед использованием метода самостоятельно
проверить доступность формы (свойство Enabled)
procedure
RemoveForm(AForm: TCustomForm) Удаляет кнопку формы
AForm с панели FormsBar. Сама форма при этом не разрушается
и если она Вам больше не нужна, Вы должны самостоятельно
позаботиться об её разрушении.
procedure
SetActiveControl(AForm: TCustomForm; AWinControl:
TWinControl) Метод заставляет FormsBar запоминать
для формы AForm элемент управления AWinControl как активный,
используется при переключении между формами, при
переключении на форму AForm, в момент ей появления фокус
будет установлен в AWinControl. Обычно при переключении форм
FormsBar сам запоминает последний активный элемент
управления, но в некоторых случаях, может работать не
правильно и тогда понадобится этот метод, либо когда при
появлении формы требуется установить фокус ввода в какой-то
конкретный элемент управления.
procedure CloseAll
Вызывает метод Close у всех зарегистрированныъ форм.
Свойства:
property FormCount:
Integer - возвращает количество зарегистрированных
форм.
property Items[Index:
Integer]: TCustomForm - позволяет обращаться к
зарегистрированным формам по индексу.
property ActiveForm:
TCustomForm - текущая активная форма, если ни одной
формы на FormsBar не зарегистрировано, вернет nil.
property HighLightFont:
TFont - задает шрифт для надписи на активной
кнопке.
property HomeButton:
Boolean - разрешает использование первой системной
кнопки (на скриншоте зеленый плюс), если HomeButton = False,
кнопка не отображается.
property SysButton:
Boolean - разрешает использование второй системной
кнопки (на скриншоте красный крест), если SysButton = False,
кнопка не отображается.
property
OnSysButtonClick: TNotifyEvent - событие, которое
происходит при нажатии на SysButton, Sender будет
содержать указатель на активную форму.
property
DropDownMenu: TPopupmenu - всплывающее меню,
если назанчено, будет появляться при нажатии на HomeButton.
property
HomeAction: TBasicAction - действие, если
назначено, будет вызываться при нажатии на HomeButton
(если назначено DropDownMenu то HomeAction игнорируется).
property
OnHomeButtonClick: TNotifyEvent - событие,
происходит при нажатии на HomeButton.
property ImageList:
TImageList - библиотека изображений для кнопок
на FormsBar.
property
HomeIconIndex: Integer - номер иконки для
HomeButton.
property
SysIconIndex: Integer - номер иконки для
SysButton.
property CloseBtn:
Boolean - разрешает использовать маленкую
кнопочку на кнопке формы рядом с надписью, появляется
при наведении на кнопку формы мышью, используется для
закрытя формы привязанной к кнопке. Само нажатие
ни каких действий с формой не производит и генерирует
событие OnCloseBtnDown, в нем Вы должны сами прописать
код для закрытия формы.
property
OnCloseBtnDown: TNotifyEvent - событие,
происходит при нажатии на CloseBtn, в Sender передается
указатель на форму привязанную к кнопке.
property
FormsBarBorders: TFormBarBorders - задает рамку
вокруг FormsBar
property Native: Boolean - если True - то
задает отрисовку с нативным видом системы для панелей, если
False просто заливает все площадь FormsBar одним цветом.
property WrapText:
Boolean - задает перенос текста в кнопках.
property
MildeLineColor: TColor - цвет разделителя между
кнопками.
property FormsParent:
TWinControl - задает контейнер для форм, в котором
будут разворачиваться зарегистрированные формы, если не
указано, то используется сама форма на которой размещен
FormsBar.
TLabeledDBEdit, TLabeledDBCombo, TLabeledDBLookupCombo
Элементы управления данными с
привязанной надписью. Положение надписи может
регулироваться.
Свойства:
property
LabelAncorCompanion: TAnchorKind - задает положение
надписи относительно поля (сверху, снизу, справа, слева).
property
LabelAlignment: TAlignment - задает положение
надписи в горизонтальной плоскости, работает только если
надпись расположена сверху или снизу поля.
property LabelCaption:
TCaption - сама надпись.
property LabelVisible:
Boolean - показать или скрыть надпись
TDBEDitButton
Поле управления данными с привязанной надписью и кнопкой.
Для надписи свойства описаны выше.
Свойства:
property ButtonWidth:
integer - ширина кнопки.
property ButtonCaption:
TCaption - надпись кнопки.
property ImageList:
TCustomImageList - библиотека изображений для
иконки на кнопке.
property ImageIndex:
TImageIndex - номер изображения, для кнопки в
нормальном состоянии.
property
DownImageIndex: TImageIndex - номер изображения,
для кнопки в нажатом состоянии.
property ButtonSpacing:
Integer - расстояние между иконкой на кнопке и
текстом.
property ButtonLayot:
TButtonLayout - положение иконки на кнопке.
property ButtonAction:
TBasicAction - действие которое происходит при
нажатии на кнопку.
property OnButtonClick:
TNotifyEvent - событие, генерируется при нажатии на
кнопку
ВНИМАНИЕ!
Чтобы нажать на кнопку с клавиатуры без использования мыши, в
поле ввода текста нажмите клавиши <Ctrl> +
<Enter>
TxDBCheckBox
Клон станлдартного TDBCheckBox, у которого почему-то отсутствует событие OnKeyDown. В TxDBCheckBox оно доступно.
TxSpeedBtn
Клон TSpeedBtn, но умеет отрисовывать иконку из ImagList.
TDesignerManager
Дизайнер форм
Компонент был сделан для использования в Дизель-Паскаль и
там он используется в настоящее время.
Как использовать смотрите простой пример (Загрузить)
Для полноценного использования смотрите исходный код проекта
CrossDesigner из состава Дизель-Паскаль.