Кнопка (англ. Button) – это самый простой и одновременно мощный элемент My Visual Database, с помощью которого решается 90% основных задач управления работой приложения.

Свойство Action

Пока вы не освоили скрипты, основным элементом управления работой приложения для вас будет кнопка и её свойство “Action”. В настройке этого свойства имеется маленькая кнопочка, нажатие которой раскрывает оконный интерфейс вариантов настройки кнопки.

Ниже приводится справочная таблица действий, каждое из которых будет в дальнейшем разобрано на практике.

Таблица 1. Варианты действий

ActionОписаниеПример
[Нет]
Нет действия. Значение по умолчанию. Используется, если вы сами хотите описать нужное действие с помощью скриптов.
[Показать форму]
В выпадающем списке выберите форму проекта, которая отобразится модально при нажатии кнопки. Если на форме есть таблицы с настроенным отображением данных, то данные автоматически обновятся.
Проект “Библиотека” v.2.1
[Закрыть форму]
Назначение такой кнопки – закрыть форму, на которой она находится.
Проект “Библиотека” v.2.1
[Новая запись]
Открыть форму редактирования для добавления новой записи. Форма редактирования обычно содержит различные компоненты для ввода данных и кнопку для сохранения добавляемой (редактируемой) записи, которые будут проинициализированы: компоненты ввода очищены, а у кнопки сохранения сброшен ID записи.
Проект “Библиотека v.2.2”
[Показать запись]
Открыть форму редактирования для изменения записи. Для редактирования выбирается запись, которая соответствует выбранной строке в указанной таблице. После того, как вы разместили на форме с таблицей кнопку для отображения формы редактирования, автоматически добавится функция открытия этой формы двойным кликом по строке в таблице. Форма редактирования обычно содержит различные компоненты для ввода данных и кнопку для сохранения добавляемой (редактируемой) записи, которые будут проинициализированы: компоненты ввода заполнены данными, а у кнопки сохранения установлен ID записи.
Проект “Библиотека v.2.2”
[Удалить запись]
Удалить выделенную в таблице запись. По умолчанию перед удалением отображается запрос, чтобы предотвратить случайное удаление данных. Отображение запроса можно отключить.
После удаления происходит автоматическое обновление данных в компоненте таблицы.
Проект “Библиотека v.2.2”
[Сохранить запись]
Позволяет сохранять данные формы редактирования. Для настройки кнопки необходимо выбрать компоненты интерфейса, данные в которых должны быть сохранены, и указать таблицу для сохранения данных.
Проект “Библиотека v.2.2”
[Поиск]
Инструмент для выборки данных с фильтрацией. В настройку входит список элементов управления фильтром, таблица – источник данных и поля, которые необходимо отобразить в результате. Также можно настроить сортировку. Фактически это – визуальный конструктор SQL-запроса, который будет использован для отображения данных.
[Открыть в Excel]
Экспорт данных из таблицы в Excel или Calc (Open Office). Если на компьютере установлена одна из этих программ, то одним нажатием кнопки содержимое компонента таблицы будет загружено в табличный процессор.
Всего можно выбрать три варианта:
– Excel
– OpenOffice (Calc)
– Auto
В последнем случае программа автоматически определит, какой табличный процессор у вас установлен.
Проект “Библиотека” v.2.1
[SQL-запрос]
Инструмент для выборки данных с помощью SQL-запроса. В тех случаях, когда с помощью настройки свойств таблицы или настройки действия “Поиск” не удается получить нужный результат или не устраивает скорость работы стандартных механизмов MVDB, необходимо использовать данную возможность для ручного ввода запроса на выборку данных. Также это может пригодиться для выполнения других операций с базой данных, таких как массовое удаление/модификация/создание/копирование записей.
[Отчет]
Инструмент выборки данных для построения отчёта в FastReport – визуальный построитель запросов SQL. Стандартный механизм MVDB позволяет передавать в конструктор отчетов только один набор данных и содержимое компонентов формы, на которой расположена кнопка. Для более сложных отчетов необходимо использовать скрипты.
[Отчет SQL]
Инструмент выборки данных c помощью SQL-запроса для построения отчёта в FastReport. Расширяет возможности действия “Отчет” и позволяет формировать запрос на выборку данных самостоятельно.

Унаследованные свойства

Компонент кнопка (TdbButton) имеет некоторые унаследованные свойства, которые подробно описаны в разделе “Формы. Общие свойства компонентов.” таблица 1. Общие свойства компонентов.

Таблица 2. Унаследованные свойства

НазваниеСвойствоОписание
NameНазваниеУникальное название кнопки
LeftЛевоАбсцисса положения верхнего левого угла кнопки относительно родительского компонента. 
TopВерхОрдината положения верхнего левого угла кнопки относительно родительского компонента.  
WidthШиринаШирина кнопки, в пикселях
HeightВысотаВысота кнопки, в пикселях
VisibleВидимостьПризнак видимости кнопки. Невидимую кнопку нажать нельзя.
AnchorsЯкоряПривязка к краям родительского компонента.
CaptionЗаголовокНадпись на кнопке
FontШрифтШрифт, используемый для отображения надписи на кнопке. Состоит из свойств:
Font.Color – Цвет шрифта не действует
Font.Name – Имя шрифта
Font.Size – Размер шрифта
Font.Style – Стиль шрифта
TabStopТабулостопФлаг включения/выключения компонента в очередь обхода при нажатии клавиши Tab (Shift+Tab).
TabOrderПоследовательность табуляцииПорядковый номер в очереди обхода компонентов клавишей Tab (Shift+Tab).
EnabledДоступенНедоступную кнопку нельзя нажать.
ConstraintsОграниченияОграничения размеров. Состоит из свойств:
MaxHeight – максимальная высота;
MaxWidth – максимальная ширина;
MinHeight – минимальная высота;
MinWidth – минимальная высота.
HintПодсказкаПодсказка при наведении курсора
ShowHintПоказать подсказкуФлаг, определяющий, нужна ли всплывающая подсказка для данного элемента.
CursorКурсорвнешний вид курсора при наведении указателя на кнопку.
BiDiModeРежим двунаправленностиУправление режимом автоматического распознавания направления ввода или отображения данных.

☝ Свойство Font.Color (Цвет шрифта) для кнопки не действует, цвет текста кнопок определяется настройкой цветовой схемы Windows и выбранным стилем (свойство Style). Однако, если в главном меню MVDB выбрать стиль оформления приложения, а затем с помощью скрипта установить свойство кнопки StyleElements = 2, и при этом Style = bsPushButton, то надпись станет отображаться цветом, указанным в свойстве Font.Color.

Другие свойства

Таблица 5. Другие свойства кнопки

НазваниеСвойствоОписание
IconИконкаИмеется 12 иконок:

Чтобы кнопка была без картинки, установите значение none.
Добавить свои иконки для кнопок можно с помощью скриптов.
StyleСтиль отображенияДоступны два стиля:
bsPushButton – объемная кнопка со стандартным цветом
bsCommandLink – прозрачная (win10) кнопка с квадратными углами и синей надписью.

Для кнопки стиля bsCommandLink настройки свойства Font не действуют, внешний вид определяется настройками операционной системы.
При изменении свойства Style свойства Width и Length устанавливаются в значения по умолчанию для данного стиля.
CommandLinkHintПодсказка для командной ссылкиДополнительный текст для стиля CommandLink. Отображается ниже заголовка, более мелким шрифтом.
ImageAlignmentВыравнивание изображенияВыравнивание изображения относительно надписи:
iaTop – изображение сверху
iaLeft – изображение слева
iaRight – изображение справа
iaBottom – изображение снизу
iaCenter – изображение по центру

Расстояние между надписью и изображением не настраивается, равно нулю. Надпись располагается по центру оставшейся области и центрируется.
WordWrap Перенос слов
Флаг, позволяющий переносить надпись на кнопке в несколько строчек.
DefaultПо умолчаниюПри установке данного флага кнопка будет нажиматься всякий раз, когда пользователь будет нажимать на клавиатуре клавишу Enter. Данное свойство автоматически устанавливается в True, если выбрано действие [Сохранить запись].
CancelОтменаПри установке данного флага кнопка будет нажиматься всякий раз, когда пользователь будет нажимать клавишу Esc. Данное свойство автоматически устанавливается в True, если выбрано действие [Закрыть форму].

📝 Свойства Default и Cancel будут работать только при условии, что кнопка находится на активной форме, на видима (Visible = True) и доступна (Enabled = True). Но, если установить свойства Left или Top таким образом, чтобы кнопка оказалась за пределами окна (например, Left = -200), то действия при нажатии клавиш будут выполняться, хотя кнопки видно не будет.

Чего-то не хватает

Полезно знать ограничения кнопки.

  • Нельзя установить свой цвет кнопки или цвет надписи.
  • Нельзя выровнять надпись на кнопке по левому или правому краю

📝 Если у кнопки установить Style в bsCommandLink, в свойства Caption и CommandLinkHint записать пустую строку, а в свойство Icon загрузить скриптами прозрачный пиксель, то можно получить полностью прозрачную кнопку с тонкой рамкой, которая меняет цвет при наведении курсора. Если расположить такую кнопку поверх изображения, то таким образом можно создавать графические кнопки или области, чувствительные к нажатию.

А вот теперь можно перейти к рассмотрению формы редактирования.

Один комментарий к “Волшебная кнопка MVDB”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *