- •В.В. Чуркин
- •Содержание
- •Ознакомление с Интегрированной Средой Разработки (иср)
- •Основное окно иср
- •Библиографический список
- •Занятие 1 Формы и компоненты Включение в проект новой формы
- •Размещение компонентов на форме
- •Депозитарий – хранилище форм и проектов
- •Задание 7. Опробовать режимы заимствования форм из Депозитария
- •Контрольные вопросы
- •Библиографический список
- •Занятие 2 Отладка приложений Компиляция и компоновка проекта
- •Сообщения компилятора и компоновщика
- •Действия в случае ошибки выполнения
- •Дальнейшие действия
- •Окно наблюдения Список Часов
- •Окно оценки и модификации Оценить|Изменить
- •Пошаговое выполнение приложения
- •Точки прерывания
- •Использование окна Инспектора Отладки
- •Другие средства отладки
- •Контрольные вопросы
- •Библиографический список
- •Занятие 3 Компоненты ввода и отображения текстовой информации
- •Компоненты Label, StaticText, Panel
- •Компоненты Edit, LabeledEdit, MaskEdit
- •Компоненты Memo, RichEdit
- •Компоненты ListBox, CheckListBox, ValueListEditor
- •Компонент StringGrid
- •Контрольные вопросы
- •Библиографический список
- •Занятие 4 Диаграммы и графики Компонент Chart
- •Компонент Image
- •Контрольные вопросы
- •Библиографический список
- •Контрольные вопросы
- •Библиографический список
- •Формирование квадратных матриц
- •Контрольные вопросы
- •Библиографический список
- •Кнопки, индикаторы, управляющие элементы
- •Управляющие кнопки Button и BitBtn
- •Кнопка с фиксацией SpeedButton
- •Группы радиокнопок − компоненты RadioGroup, RadioButton и GroupBox
- •Индикаторы CheckBox и CheckListBox
- •Ползунки и полосы прокрутки − компоненты TrackBar и ScrollBar
- •Заголовки − компоненты HeaderControl и Header
- •Таймер − компонент Timer
- •Календарь − компонент DateTimePicker
- •Панели и компоненты внешнего оформления
- •Панели общего назначения − компоненты Panel,
- •Многостраничные панели − компоненты TabControl,
- •Инструментальные панели − компоненты ToolBar и PageScroller
- •Перестраиваемые панели − компоненты CoolBar и ControlBar
- •Контрольные вопросы
- •Библиографический список
- •Занятие 8 Системные диалоги
- •Диалоги открытия и сохранения файлов – компоненты
- •Фрагменты диалогов – компоненты
- •Диалог выбора шрифта – компонент FontDialog
- •Диалоги выбора цвета – компоненты ColorDialog, ColorBox
- •Контрольные вопросы
- •Библиографический список
- •Занятие 9 Технология разработки приложений. Диспетчеризация действий
- •Диспетчеризация действий на основе компонента ActionList
- •Диспетчеризация действий на основе компонентов ActionManager, ActionMainMenuBar, ActionToolBar, CustomizeDlg
- •Контрольные вопросы
- •Библиографический список
- •Занятие 10 Динамически присоединяемые библиотеки dll Назначение dll
- •Статическое и динамическое связывание dll с приложением
- •Создание dll
- •Примеры статического и динамического связывания dll
- •Контрольные вопросы
- •Библиографический список
Перестраиваемые панели − компоненты CoolBar и ControlBar
Перестраиваемые панели являются дальнейшим развитием инструментальных панелей. Только в перестраиваемых панелях сами инструментальные панели обычно являются компонентами более сложных образований. Примером перестраиваемой панели может служить панель ИСР C++Builder 6, включающая в себя ряд более мелких панелей быстрых кнопок и палитру компонентов. Пользователь может настраивать их, изменять местоположение панелей и т.п.
Компонент CoolBar позволяет строить перестраиваемые панели, состоящие из полос (bands). В полосы могут включаться инструментальные панели ToolBar и любые другие оконные компоненты: окна редактирования, панели и т.п. Каждый из этих компонентов автоматически снабжается средствами перемещения его пользователем в пределах окна CoolBar. В полосы могут вставляться и не оконные компоненты, например метки. Но они не будут перемещаемыми.
Задание 7. Изучить перестраиваемую панель CoolBar.
Начните новое приложение, сохраните файл модуля и файл проекта под разными именами.
Перенесите на форму компонент ImageList1 и загрузите в него из каталога Program Files\Common Files\Borland Shared\Images\Buttons следующие файлы изображений под указываемыми индексами: fldropen − 0, filesave − 1, print − 2, monitor − 3, arrow1ur − 4, arrow1r − 5, arrow1d − 6, arrow1l − 7, arrow1u − 8.
Поместите на форму компонент CoolBar. В его свойство Images внесите ImageList, в свойство Hint − компонент CoolBar, а свойство ShowHint − true.
Перенесите на компонент CoolBar панель ToolBar. Ей будет отведена отдельная полоса и она растянется на всю ширину CoolBar.
Задайте свойства полосы, на которой разместилась панель ToolBar. Свойства полос задаются редактором полос в окне Правка. Вызвать окно можно тремя способами: из Инспектора Объектов кнопкой с многоточием около свойства Bands, двойным щелчком на компоненте CoolBar или из контекстного меню, выбрав команду Редактор полос…В окне Правка можно перемещаться по полосам, добавлять новые полосы или уничтожать существующие. Пока в окне находится одна полоса: 0 − TCoolBand. Задайте ей свойство Text − Панель 1, свойство ImageIndex − 0.
В свойство Images панели ToolBar внесите ImageList1. Поместите на панель четыре кнопки, внося в свойство ImageIndex соответственно значения 0, 1, 2, 3, а в свойство Wrap второй кнопки − true.
Перенесите на компонент CoolBar вторую панель ToolBar. Ей будет отведена вторая полоса. Для этой полосы задайте свойство Text − Панель 2, свойство ImageIndex − 4.
В свойство Images второй панели ToolBar внесите ImageList. Поместите на панель четыре кнопки, внося в свойство ImageIndex соответственно значения 5, 6, 7, 8.
Около каждого компонента, перенесенного на панель CoolBar, слева появляется полоска, за которую компонент можно перемещать курсором мыши. Переместите вторую полосу в верхний ряд правее первой так, чтобы кнопки в первой панели ToolBar расположились в двух рядах. Возможно, для этого придется увеличить высоту полос.
Перенесите на компонент CoolBar два окна редактирования Edit. В свойство Text полос панели CoolBar с окнами редактирования впишите соответственно Окно 1, Окно 2.
Полосу Окно 2 переместите в один ряд с полосой Окно 1, разместив ее справа от последней.
Сохраните все и выполните приложение. Убедитесь, что панель CoolBar можно легко перестраивать и во время выполнения.
Укажем еще несколько свойств полос. Свойство Control определяет размещенный на полосе компонент. Свойство Break определяет, занимает ли полоса весь соответствующий размер контейнера CoolBar, или обрывается. В приведенном выше задании в левых полосах автоматически установится Break = true, а в правых Break = false. Свойства MinHeight и MinWidth определяют минимальную высоту и ширину полосы при перестроениях пользователем полос панели. Свойство FixedSize определяет, фиксирован ли размер данной полосы или он может изменяться пользователем. По умолчанию для всех полос FixedSize = false, т.е. все полосы перестраиваются. Но при желании размеры некоторых полос можно зафиксировать, задав для них FixedSize = true.
Свойство BandMaximize компонента CoolBar определяет действие, которым пользователь может установить максимальный размер полосы, не перетаскивая ее границу: bmNone − такое действие не предусмотрено, bmClick − щелчком мыши, bmDblClick − двойным щелчком. Не рекомендуется действие bmClick, которое приводит к резкому перестроению полос даже при случайном щелчке мыши.
Свойство FixedOrder, если установить его в true, не разрешит пользователю в процессе перемещений полос изменять их последовательность.
Свойство Vertical указывает вертикальное или горизонтальное расположение полос. По умолчанию Vertical = false, что соответствует горизонтальным полосам.
Еще большую свободу перестроений дает пользователю панель ControlBar. В ней может широко применяться техника перетаскивания и встраивания Drag&Doc.
Задание 8. Ознакомиться с перестраиваемой панелью ControlBar.
Начните новое приложение. Поместите на форму компонент ControlBar и перенесите на него две инструментальных панели ToolBar и два окна редактирования Edit. Обратите внимание на то, что каждый компонент, попадая на ControlBar, получает полосу захвата, свойственную технологии Drag&Doc.
На одну панель ToolBar поместите пять кнопок в два ряда, на другую панель ToolBar − восемь кнопок в два ряда, с вертикальным разделителем между шестой и седьмой кнопками. Сохраните все и выполните приложение. Обратите внимание на возможности перестройки панели.
У компонентов, размещенных на ControlBar, установите свойство DragMode = dmAutomatic и DragKind = dkDoc. Это означает автоматическое выполнение операций Drag&Doc. Сохраните все и выполните приложение. Сравните возможности перестройки в этом случае и в предыдущем случае.
Свойства компонента ControlBar RowSize и RowSnap определяют процедуру встраивания. Убедитесь в том, что свойство RowSize задает размеры полос, в которые могут встраиваться компоненты, а RowSnap определяет захват полосами встраиваемых компонентов.
Убедитесь в том, что свойство AutoDrag определяет, можно (при значении true), или нельзя простым перетаскиванием вынести полосу за пределы ControlBar, а также в том, что при AutoDrag = true можно вынимать из панели отдельные компоненты и они становятся самостоятельными окнами.
Примечание. Чтобы компонент вынуть из панели, нужно курсором мыши щелкнуть на его границе (верхней, правой, нижней), после чего компонент окажется в темной рамке и станет готовым к перемещению в любое место экрана.