
- •Глава 4. Базовые компоненты интерфейса
- •4.1. Компонент форма
- •4.1.1. Основные свойства формы
- •4.1.2. Разновидности форм
- •4.1.3. События формы
- •4.1.4. Методы формы
- •4.2. Создание пиктограммы для приложения
- •4.3. Общие свойства и события визуальных компонентов
- •4.3.1. Иерархия классов Delphi
- •4.3.1. Ключевые свойства элементов управления
- •4.3.2. Виды событий для элементов управления
- •4.4. Определение принадлежности к классу и приведение типов
- •4.5. Компоненты для отображения текста
- •4.5.1. Компонент метка Label
- •4.5.2. Компонент текстовая метка StaticText
- •4.6. Кнопки
- •4.6.1. Стандартная кнопка Button
- •4.6.2. Кнопка с рисунком BitBtn
- •4.6.3. Кнопка с фиксацией SpeedButton
- •4.7. Image – компонент для работы с изображениями
- •Image1.Picture.LoadFromFile('картинка.Bmp);
- •Interface
- •Implementation
- •Interface
- •Implementation
- •4.8. Поддержка справочной службы - всплывающие подсказки
- •Контрольные вопросы
- •Лабораторная работа
4.5.2. Компонент текстовая метка StaticText
|
Рис. 4.6. Вывод текста в StaticText |
Остальные свойства компонента StaticText аналогичны свойствам Label, но у компонента StaticText перенос длинного текста осуществляется автоматически, если значение AutoSize равно false и размер компонента достаточен для размещения нескольких строк.
Оба компонента – и Label, и StaticText - могут использоваться для доступа с помощью комбинации клавиш <Alt>+<буква> к элементам, не имеющим такой самостоятельной возможности. Например, если вам надо получить доступ по комбинации клавиш <Alt>+<D> к компоненту Edit, то действовать надо следующим образом: размешаем на форме Edit1 и Label1 (или вместо Label можно StaticText). Свойство Caption компонента Label1 перед буквой D пишем знак амперсанда (&), например, свойство Caption может быть таким - &Date. Далее нам надо привязать Label1 к компоненту Edit1. Для этого у компонента Label1 для свойства FocusControl выбираем из списка компонент Edit1. И, наконец, свойство ShowAccelChar для метки должно быть установлено в true (если его установить в false, то ничего работать не будет). Если после запуска программы нажать <Alt>+<D>, то Edit1 получит фокус.
4.6. Кнопки
Кнопки предназначены для формирования события при нажатии на нее. В Delphi имеется достаточно много разнообразных кнопок, что связано с различными стилями проектирования приложений. Кнопки различаются друг от друга внешним оформлением. Поскольку, кнопки имеют разных предков, рассмотрим их отдельно.
4.6.1. Стандартная кнопка Button
Компонент Button,
или кнопка (вкладка Standard),
является оконным элементом управления.
Основное назначение кнопки – формирование
события при нажатии на нее (событие
Onclick).
При этом кнопка принимает соответствующий
вид, подтверждая происходящее действие
визуально. Действия, выполняемые в
обработчике события OnClick,
происходят сразу после отпускания
кнопки. Кнопка Button
на поверхности может содержать надпись,
поясняющую назначение и описание
действий, выполняемых при ее нажатии
(свойство Caption).
Кнопка может быть размещена в любом
месте формы, где есть необходимость
выполнить какое-либо действие. Ряд
свойств компонента аналогичны ранее
рассмотренным, другие – приведены в
табл. 4.7.
Таблица 4.7. Свойства компонента Button
Свойство |
Описание |
Cancel |
Определяет эквивалентность нажатия кнопки и клавиши <Esc>: true – нажатие на клавишу <Esc> будет эквивалентно нажатию на эту кнопку |
Default |
Определяет эквивалентность нажатия кнопки и клавиши клавиатуры <Enter>: true – нажатие на клавишу <Enter> будет эквивалентно нажатию на эту кнопку (если данная кнопка находится в фокусе) |
ModalResult |
Определяет результат, с которым было закрыто модальное окно. Возможные значения ModalResult:
|
Кнопка Button является элементом ОС Windows и поэтому не может изменять свой цвет (кнопка меняет его вместе с изменением палитры Windows). Кнопка всегда имеет системный цвет clBtnFace и не имеет свойства Color. Шрифт надписи на кнопке может менять свой стиль и размер, но компонент игнорирует изменение его цвета.
При применении кнопки для закрытия модального окна можно использовать ее свойство ModalResult. Оно определяет, какое значение будет содержать свойство ModalResult формы, когда окно закрывается при нажатии на соответствующую кнопку. Если для кнопки свойству ModalResult установлено ненулевое значение, отличное от mrNone (по умолчанию), то при нажатии на кнопку модальная форма автоматически закрывается, и нет необходимости вызова метода Close в обработчике события Onclick этой кнопки.