Новые возможности оформления контролов

Коллеги, многие из вас знают о моем увлечении пользовательскими интерфейсами.

Спешу сообщить вам о новых возможностях отображения элементов управления в версии 3.4.0.
В новой версии разработчику предоставлен свободный выбор цвета текста, цвета фона, шрифта и цвета заголовка элементов управления. Добавлены также возможности выделять другим шрифтом и цветом фона каждую вкладку PageControl.

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

Давайте рассмотрим на примере.
Вот пример доработанной карточки Инцидента:
Карточка Инцидента

Как видим на скриншоте, одна из вкладок карточки и несколько полей ввода выделены для привлечения внимания пользователя.
Как это реализовано:

/* Сделаем поле "Признаки (Симптомы)" cо светло-зеленым фоном (свойство Color) и темно-зеленым цветом (свойство TextColor) текста */
  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. Контроль ввода значений в обязательные поля. В примере ниже пользователю будет сразу видно какие из обязательных полей не заполнены (например выделить их красным) а какие заполнены неправильно (темно-оранжевым)
Выделение ошибок заполнения контролов

При вводе значений в такие поля можно сразу с помощью выделения цветом показывать пользователю корректно ли введена информация. Такой подход повсеместно используется в веб-интерфейсах.

Думаю многим будут полезны новые возможности.
Приятной разработки! :wink:

Нравится

Поделиться

5 комментариев

Один вопрос - когда же выйдет версия 3.4? :smile:

"Валерий Андрусик" написал:Один вопрос - когда же выйдет версия 3.4?

Вопрос Валерия весьма актуален.

Коллеги, версия 3.4 выйдет в 1-й половине июля

А можно поменять цвет поля и шрифта(серый) для поля, недоступного для редактирования?

Для поля, у которого в датасете установлено свойство Read Only можно переопределить цвет шрифта (начиная с версии 3.4.1 в окне свойств компонента окна, в версиях ниже - скриптом). Для контрола, у которого установлено свойство IsEnabled = false - переопределить цвет нет возможности.

Показать все комментарии