
- •Сложные элементы интерфейса Панели инструментов. Строка состояния. Элементы с вкладками: одностраничный блокнот, многостраничный блокнот.
- •8.3.2. Подсказки в строке состояния
- •8.4. Прокрутка
- •8.4.1. Прокрутка рабочей области формы
- •8.4.2. Отдельная область прокрутки
- •8.4.3. Полосы прокрутки
- •8.5.1. Панель
- •8.5.2. Кнопки
- •8.5.3. Значки на кнопках
- •8.5.4. Надписи на кнопках
- •8.5.5. Разделительные линии
- •8.5.6. Кнопки-переключатели
- •8.5.7. Обработка нажатий кнопок
- •8.5.8. Подсказки к кнопкам
- •8.5.9. Управление видимостью панели кнопок
- •8.6.1. Создание списка команд
- •8.6.2. Команды
- •8.6.3. Привязка команд
- •8.6.4. Реакция на команды
- •8.6.5. Управление состоянием команд
Сложные элементы интерфейса Панели инструментов. Строка состояния. Элементы с вкладками: одностраничный блокнот, многостраничный блокнот.
Создание строки состояния
Строка состояния (status bar) — это панель в нижней части окна, предназначенная для вывода вспомогательной информации: параметров документа, с которым работает пользователь, подсказок к пунктам меню и др. В среде Delphi она организуется с помощью компонента StatusBar, расположенного в палитре компонентов на вкладке Win32 (рисунок 8.36).
Шаг 41. Поместите компонент на форму и дайте ему имя StatusBar.
Рисунок
8.36. Компонент StatusBar
Таблица 8.9 знакомит вас с основными свойствами компонента StatusBar. Когда вы изучите компонент, она пригодится вам в качестве справочника, а сейчас просто окиньте ее взглядом и двигайтесь дальше.
|
Таблица 8.9. Важнейшие свойства и события компонента StatusBar
Как только вы добавили на форму строку состояния, она тут же прижалась к нижнему краю формы и растянулась по всей ее ширине (см. рис. ниже). Какая сообразительная! А ну-ка изменим ширину формы. Ба! Строка состояния тоже корректирует свою ширину и всегда занимает всю нижнюю часть формы (рис 8.37).
Рисунок
8.37. Строка состояния автоматически
прижимается к нижнему краю формы
Такое поведение обеспечивает свойство Align, которое в компоненте StatusBar изначально содержит значение alBottom. Свойство Align есть во многих визуальных компонентах. С его помощью вы можете заставить компонент подгонять свои размеры и положение при изменении размеров своего владельца (формы или компонента, на котором он находится). Возможные значения свойства Align описаны в таблице 8.10.
|
Таблица 8.10. Значения свойства Align
Принимая во внимание, что некоторые компоненты могут содержать другие компоненты, становится ясно, какую мощь таит в себе свойство Align, избавляя программистов от огромной работы по перерасчету координат компонентов при изменении размеров формы. Всегда помните об этой чудесной возможности и старайтесь использовать ее в полной мере.
Шаг 42. Вернемся к примеру и приспособим строку состояния для отображения размеров рисунка и имени файла, в котором рисунок хранится на диске. С этой целью разделим строку состояния на две информационные панели. Перейдите к окну свойств и в поле Panels щелкните кнопку с многоточием (либо в контекстном меню строки состояния выберите пункт Panels Editor…). Откроется специальное окно с заголовком Editing StatusBar.Panels для создания панелей в строке состояния (рисунок 8.38).
Рисунок
8.38. Окно для создания панелей в строке
состояния
Шаг 43. В этом окне создаются, редактируются и удаляются панели строки состояния. Оно работает в паре с окном свойств, в котором настраиваются свойства отдельно взятой панели строки состояния. Нажатием кнопки Add New создайте первую панель и установите ее свойства так, чтобы она получилась шириной 70 пикселей (Width = 70), продавленной (Bevel = pbLowered) и с центрированным текстом (Alignment = taCenter). См. рисунок 8.39.
Рисунок
8.39. В строке состояния создана панель
В этой панели будут отображаться размеры рисунка. Аналогично создайте вторую панель (рисунок 8.40) неограниченной ширины (Width = -1), продавленной (Bevel = pbLowered) и с прижатым влево текстом (Alignment = taLeftJustify). В ней будет отображаться имя файла.
Рисунок
8.40. В строке состояния создана еще одна
панель
После этого закройте окно Editing StatusBar.Panels.
Строка состояния создана и сейчас рассмотрим, как вывести в ней текст. Доступ к панелям обеспечивает свойство Panels. Оно содержит массив Items, элементами которого являются объекты-панели. Каждая панель имеет свойство Text, в котором хранится отображаемый на панели текст. Итак, установка содержимого строки состояния в нашем примере будет выглядеть так:
|
Учитывая, что массив Items выступает главным свойством объекта Panels, эти операторы можно записать короче:
|
Для вывода информации на первую панель (с индексом 0) мы воспользовались функцией Format, форматирующей строку. Первый параметр функции — это строка-шаблон, а второй — открытый массив с аргументами, подставляемыми вместо управляющих символов строки-шаблона.
Шаг 44. Обновление строки состояния удобно оформить в виде метода формы:
|
Шаг 45. Вызовы метода UpdateStatusBar поместите в обработчики команд меню Open... и Close.
|
Наконец выполните компиляцию приложения и проверьте, что строка состояния работает. Например, откройте файл Chemical.bmp, расположенный по маршруту C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color. В строке состояния отобразятся размеры рисунка и путь к файлу.
Рисунок
8.41. Программа для просмотра графических
файлов теперь имеет строку состояния