Коллеги, многие из вас знают о моем увлечении пользовательскими интерфейсами.
Спешу сообщить вам о новых возможностях отображения элементов управления в версии 3.4.0.
В новой версии разработчику предоставлен свободный выбор цвета текста, цвета фона, шрифта и цвета заголовка элементов управления. Добавлены также возможности выделять другим шрифтом и цветом фона каждую вкладку PageControl.
Это дает возможность разработчику делать карточки (любые другие окна) более функциональными, выделяя важные элементы или реализуя дополнительную логику.
Кроме того, актуальными остаются возможности, описанные в моей предыдущей статье о возможностях кастомизации контролов
Давайте рассмотрим на примере.
Вот пример доработанной карточки Инцидента:
Как видим на скриншоте, одна из вкладок карточки и несколько полей ввода выделены для привлечения внимания пользователя.
Как это реализовано:
edtSynopsis.Color = clMoneyGreen;
edtSynopsis.TextColor = clGreen;
/* Светло-голубой фон для поля "Контакт" */
edtContact.Color = clSkyBlue;
/* Выделим поле "Продажа" */
edtOpportunityID.Color = clYellow;
edtOpportunityID.TextColor = clTeal;
/* Выделим вкладку "Разрешение и оценка" ActiveCaptionColor - цвет текста вкладки, когда она активна;
ActiveFont - шрифт вкладки, когда она активна */
pgResolution.ActiveCaptionColor = clYellow;
pgResolution.ActiveFont.Bold = true;
/* HotCaptionColor - цвет текста вкладки, при наведении указателя мыши;
HotFont - шрифт вкладки, при наведении указателя мыши */
pgResolution.HotCaptionColor = clWhite;
pgResolution.HotFont.Bold = true;
pgResolution.HotFont.Underline = true;
/* RegularCaptionColor - цвет текста вкладки в обычном режиме - она не активная в данный момент;
HotFont - шрифт вкладки в обычном режиме */
pgResolution.RegularCaptionColor = clBlue;
pgResolution.RegularFont.Bold = true;
Свойства по изменению фона поля ввода и цвета текста в поле ввода применимы ко всем элементам управления, которые содержат поле текстового ввода (Edit, ComboBox, EnumControl, Memo, LookupControl и др., а также соответствующие им Data-контролы).
Теперь вы ознакомлены с новыми возможностями контролов и вам решать как их можно использовать.
Приведу несколько возможных применений:
1. Выделение важных элементов карточки
2. Контроль ввода значений в обязательные поля. В примере ниже пользователю будет сразу видно какие из обязательных полей не заполнены (например выделить их красным) а какие заполнены неправильно (темно-оранжевым)
При вводе значений в такие поля можно сразу с помощью выделения цветом показывать пользователю корректно ли введена информация. Такой подход повсеместно используется в веб-интерфейсах.
Думаю многим будут полезны новые возможности.
Приятной разработки!
"Валерий Андрусик" написал:Один вопрос - когда же выйдет версия 3.4?
Вопрос Валерия весьма актуален.
А можно поменять цвет поля и шрифта(серый) для поля, недоступного для редактирования?
Для поля, у которого в датасете установлено свойство Read Only можно переопределить цвет шрифта (начиная с версии 3.4.1 в окне свойств компонента окна, в версиях ниже - скриптом). Для контрола, у которого установлено свойство IsEnabled = false - переопределить цвет нет возможности.