Пакет компонентов VisualTech

Для Lazarus 2.0 [Скачать]

TxDBGrid

Сетка с измененными офрмлением и свойствами
TxDBGrid
- Сетка поддерживает вывод до 2х полей в одном столбце, смысл - как можно больше информации разместить на экране, чтобы не пролистывать сетку влево, вправо. TxColumn.FieldName - задает имя первого поля и TxColumn.xFieldName - имя второго поля, соответственно в TxColumn.Title есть Caption и xCaption для задания заголовков.

- Перенос текста в ячейках. TxColumn.WordWrap задает перенос для первого поля и TxColumn.xWordWrap для второго поля.

- Автоматически регулируемая ширина колонок в процентном отношении к ширине сетки. Свойство TxColumn.PrcWidth задает процент ширины. Сумма всех значений этого свойства для всех столбцов в сетке, не должна превышать 100.

- Вывод иконок в ячейках сетки. TxDBGrid.ImagesList - задает библиотеку иконок. TxColumn.ImageIndexes - задает  какое изображение рисовать в зависимости от значения поля. В визуальном редакторе свойства указать в поле Key - значение поля базы данных в поле Values указать номер иконки (номер иконки прописывается сам если щелкнуть на изображении иконки в редакторе).
imageindexes


- Регулируемая высота строк. 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.
formsbar
У компоненты 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 из состава Дизель-Паскаль.