- •Лабораторная работа №1
- •Методические указания.
- •Панель инструментов содержит стандартный набор значков «быстрых кнопок», а палитра компонент открыта на вкладке Standard.
- •Шаг 10. В теле функции наберите строку:
- •Аналогично перетащите кнопки Copy, Paste, Undo и разместите на поле панели инструментов:
- •Лабораторная работа № 2
- •1. Цель работы
- •2. Порядок выполнения работы
- •2.1. Консольное приложение
- •2.2. Понятие класса
- •2.3. Настройка панели инструментов
- •2.4. Добавление кода
- •2.5. Сохранение файлов проекта
- •2.6. Метки класса
- •2.7. Создание объекта класса в динамической памяти
- •2. Порядок выполнения работы.
- •3. Методические указания.
- •4. Задания к лабораторной работе
- •4.1. Порядок выполнения работы.
- •4.2. Методические указания.
- •5. Содержание отчета
- •6. Контрольные вопросы
- •Литература
- •Лабораторная работа №3
- •1. Цель работы
- •2. Постановка задачи
- •3. Порядок выполнения работы
- •Основные свойства формы
- •Основные события формы
- •Основные события компонента tButton:
- •4. Задания к лабораторной работе
- •Варианты заданий
- •5. Содержание отчета по лабораторной работе
- •6. Контрольные вопросы
- •Лабораторная работа №4
- •Цель работы
- •Порядок выполнения работы
- •Форма 1
- •Форма 2
- •Форма 3
- •Методические рекомендации по выполнению задания «Калькулятор»
- •Методические материалы по теме «Медиаплеер»
- •2.Постановка задачи:
- •3.Порядок выполнения задания:
- •Методические рекомендации к выполнению задания «Просмоторщик рисунков»
- •Создание меню
- •Шаг 12.1. По аналогии с созданием пункта Toolbar1 создайте самостоятельно пункт меню Statu Bar1 для отображения или закрытия панели состояния
- •Запрещенные пункты меню
- •Всплывающее меню
- •Диалоговые окна открытия и сохранения файла
- •Проектирование строки состояния
- •Подсказки на строке состояния
- •Прокрутка в рабочей области формы
- •Прокрутка в отдельной прямоугольной области
- •Полосы прокрутки
- •Кнопки-инструменты
- •Картинки на кнопках
- •Взаимоисключающие кнопки
- •Обработка нажатий кнопок
- •Подсказки к кнопкам
- •Управление видимостью панели инструментов
- •Методические материалы по теме «Текстовый редактор»
- •Методические материалы выполнения задания «Графический редактор»
- •2.Постановка задачи:
- •1. Основные теоретические сведения
- •1.1. Работа с ядром пакета прикладных программ mathlab
- •Выражение
- •Элементарные функции в mathlab (Большими буквами обозначены массивы, малыми – элемент массива или число)
- •Первой строки на три (б), объединение 3-й и 2-й строк (в)
- •Name(список_параметров)
- •Var1-выражение
- •1.2. Работа с пакетом Control System Toolbox
- •Создание объекта в tf-форме. Пусть требуется создать объект с передаточной функцией вида
- •Исследование переходной функции и весовой функции
- •Исследование реакции на произвольно заданное воздействие
- •Исследование афчх – амплитудно-фазовой частотной характеристики
- •Исследование лчх – логарифмических частотных характеристик
- •2. Порядок выполнения лабораторной работы
- •2.2. Содержание отчета
- •3. Контрольные вопросы
Взаимоисключающие кнопки
Быстрые кнопки могут обеспечивать альтернативный выбор некоторого режима. Когда пользователь щелкает по одной из них, она остается нажатой до тех пор, пока пользователь не нажмет другую кнопку из этой же группы. Именно так должны работать кнопки, выбирающие размер картинки.
Шаг 56. Чтобы сгруппировать кнопки HalfSizeBtn, NormalSizeBtn и DoubleSizeBtn, установите свойство GroupIndex каждой из них в одно и то же ненулевое значение, например, 1. Первую кнопку сделайте нажатой, установив ее свойство Down в значение true.
Обработка нажатий кнопок
При нажатии кнопок возникают события OnClick, которые должны обрабатываться точно так же, как и команды меню. Поскольку все события OnClick имеют одинаковый формат для всех компонентов, просто подключите к кнопкам уже существующие обработчики событий.
Шаг 57. Группа кнопок, контролирующих масштаб картинки, должна правильно переключаться даже тогда, когда пользователь устанавливает масштаб с помощью команд меню. Поэтому допишите следующие обработчики событий:
void__fastcall TPictureForm::HalfSizeltemClick (TObject *Sender)
{
HalfSizeBtn->Down = true; // кнопка согласуется с пунктом меню
…
}
// -------------------------------------
void__fastcall TPictureForm::NormalSizeltemClick (TObject *Sender)
{
NormalSizeBtn->Down = true; // кнопка согласуется с пунктом меню
…
}
// -------------------------------------
void__fastcall TPictureForm::DoubleSizeltemClick (TObject *Sender)
{
DoubleSizeBtn->Down = true; // кнопка согласуется с пунктом меню
…
}
Шаг 58. Чтобы обеспечить динамическое разрешение и запрещение кнопок при открытии и закрытии файла картинки, скорректируйте еще метод EnableCommands:
void TPictureForm::EnableCoinmands (bool Enable)
{ …
SaveBtn->Enabled = Enable;
HalfSizeBtn->Enabled = Enable;
NormalSizeBtn->Enabled = Enable;
DoubleSizeBtn->Enabled = Enable;
}
После компиляции и запуска программы вы получите работающую панель инструментов. Кнопка, соответствующая команде меню Save As..., сначала запрещена. Нажмите кнопку, соответствующую команде Open..., и выберите файл картинки. Когда картинка загрузится и отобразится, все кнопки станут разрешенными. Понажимайте кнопки, отвечающие за масштаб, и убедитесь, что они работают согласованно с командами меню (см. рис.).
Панель инструментов работает. Теперь добавьте подсказки к кнопкам.
Подсказки к кнопкам
Все визуальные компоненты C++Builder, в том числе и кнопки инструментальной панели, могут иметь подсказки. Подсказки бывают двух видов: всплывающие подсказки и подсказки в строке состояния. Оба вида подсказок хранятся в значении одного и того же свойства — Hint. Формат свойства следующий:
<всплывающая подсказка> | <подсказка в строке состояния>
Если в программе организована строка состояния, то при попадании курсора мыши на визуальный компонент в ней автоматически отображается поясняющий текст, записанный справа от символа вертикальной черты. Это легко проверить. Впишите в свойстве Hint кнопки OpenBtn текст Open ...| Opens an existing picture file. После запуска программы вы обнаружите, что подсказка для кнопки работает точно так же, как и подсказка к пункту меню.
Наиболее удобный вид подсказок — это всплывающие подсказки. Всплывающая подсказка появляется спустя секунду после того, как пользователь задерживает над управляющим элементом курсор мыши. Вплывающие подсказки не требуют программирования — достаточно просто разрешить компоненту отображать всплывающую подсказку.
Шаг 59. В каждом визуальном компоненте существует булево свойство ShowHint, определяющее условие всплывания подсказки. Его значение может устанавливаться напрямую, а может копироваться из компонента-владельца. Копирование значения у владельца происходит тогда, когда вспомогательное свойство ParentShowHint установлено в true. Таким образом, появлением подсказок можно управлять из владельца компоненты. Воспользуйтесь этой возможностью. Так как во всех компонентах свойство ParentShowHint по умолчанию уже равно true, то просто установите в компоненте ToolBar (владелец кнопок) свойство ShowHint в true. В результате во всех кнопках свойство ShowHint тоже получит значение true, и это заставит их отображать свои подсказки.
Шаг 60. Впишите для каждой кнопки подсказку (это делается в свойстве Hint). Как вы знаете, свойство Hint может содержать сразу две подсказки: всплывающую подсказку и подсказку в строке состояния (они разделяются символом вертикальной черты). Если вторая кажется вам лишней, просто не набирайте ее (но символ вертикальной черты поставьте) (см. рис.).
Скомпилируйте и запустите приложение. Убедитесь, что панель инструментов работает правильно.