- •Лабораторная работа №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. Контрольные вопросы
Управление видимостью панели инструментов
Придайте своему приложению завершенность и доработайте обработчики команд меню View | Toolbar и View | Status bar.
Шаг 61. Обработка команд View | Toolbar и View | StatuSbar выполняется так — у соответствующей панели измените значение булева свойства Visible на противоположное. При этом панель исчезает или появляется в окне вместе с изменением значения свойства. Окончательный вариант обработчиков будет следующим (жирным щрифтом выдлены операторы, котоорые необходимо добавить):
//--------------------------------------------
void __fastcall TPictureForm::ToolbarItemClick (TObject *Sender)
{
ToolBar->Visible = !ToolBar->Visible;
ToolbarItem->Checked = !ToolbarItem->Checked;
// Спрятать или показать панель инструментов
}
// -------------------------------------------void__fastcall TPictureForm::StatusBarltemClick (TObject *Sender)
{
StatusBar->Visible=!StatusBar->Visible;
StatusBarItem->Checked=!StatusBarItem-> Checked;
// Спрятать или показать строку состояния
}
Скомпилируйте приложение и посмотрите, как исчезают и появляются панель инструментов и строка состояния при выборе в меню View соответствующих команд. Например, выключена панель инструментов:
Шаг 62. На этом приложение для просмотра графических файлов разработано. Теперь можете самостоятельно изменять некоторые его части. Например,
уберите компоненты и операторы необходимые для работы с нормальным размером картинки;
добейтесь того, чтобы размер картинки увеличивался (уменьшался) каждый раз при нажатии кнопки для увеличения (уменьшения) изображения;
подберите более плавные коэффициенты увеличения (уменьшения) картинки;
установите начальную директорию для открытия и сохранения файла;
обеспечьте появление картинки во всей рабочей области компоненты ScrolBox;
обеспечьте появление линеек прокрутки сразу же с появлением картинки;
установите свойства Flat для быстрых кнопок в значение true, для того чтобы кнопки появлялись только при наведении указателя мыши на поле кнопки.
Такие изменения сделаны в проекте в директории pr_3, находящейся в директории описания лабораторной работы:
Шаг 63. Попробуйте самостоятельно поработать с компонентой ToolBar (панель инструментов), которая специально включена в палитру компонент С++Builder 3 и находится на вкладке Win32:
Примечание: данная работа может быть выполнена с добавлением дополнительных функций и свойств, присущих подобным программам
Методические материалы по теме «Текстовый редактор»
Условие задачи:
Используя компоненту TMemo, ввести текст, создать простейший текстовый редактор с пунктами меню TEXT,состоящий из пунктов: CUT-удаляет помеченный текст; CUT ALL- удаляет весь текст; COPY-копирует помеченный текст в буфер; PASTE-производит вставку из буфера.
Создание проекта.
Шаг 1.
*Запустите C++ Builder 5 и создайте новое приложение: в меню File выберите пункт New Аpplication (новое приложение). Появившаяся форма Form1 является главной формой приложения.
* В ИНСПЕКТОРЕ ОБЪЕКТОВ установите свойство Caption этой формы: “TEXT”.
* Свойству Color установите значение clAqua.
Шаг 2.
Поместите на форму компонент TMemo (многострочный редактор текста) . Для этого:
на вкладке Standard ПАЛИТРЫ КОМПОНЕНТ выберите компонент TMemo (на вкладке Standard 6-ый слева)
* Установите свойству ScrollBars значение ssBoth –видимость обеих полос прокрутки.
Шаг 3.
Поместите на форму компонент TLabel (метка ). Для этого:
* на вкладке Standard ПАЛИТРЫ КОМПОНЕНТ выберите компонент ТLabel (3-й слева);
* свойство Caption этого компонента установите "INPUT TEXT".
Шаг 4.
Поместите на форму компонент Tbutton (кнопка). Для этого:
* на вкладке Standard ПАЛИТРЫ КОМПОНЕНТ выберите компонент Tbutton(6-й слева);
* свойство Caption этого компонента установите “EXIT”
Шаг 5.
Поместите на форму компонент TMainMenu (главное меню). Для этого:
на вкладке Standard ПАЛИТРЫ КОМПОНЕНТ выберите компонент TMainMenu (2-й слева);
*нажмите на нём кнопкой мыши появится окно дизайнера меню, создайте соответствующие пункты меню:
* закройте окно дизайнера меню.
Окончательно Form1 будет иметь вид:
Шаг 6.
*Создадим Form2 для подсказки что делают соответствующие пункты меню,для этого поместите на форму 5 компонент Tlabel,свйству Caption этих компонент присвойте пояснения что делает соответствующие пункты меню.
* В ИНСПЕКТОРЕ ОБЪЕКТОВ установите свойство Caption этой формы: “HELP”.
* Свойству Color установите значение clWhite.
Окончательно Form2 будет иметь вид:
Теперь можно написать обработчики событий в соответствие со сценарием.
Шаг 7.
*Подключим для начала Form2 к Form1для этого в файле Text1.cpp добавьте строку #include "Text2.h":
Шаг 8.
*Щёлкните мышью на пункте меню PASTE (появится окно РЕДАКТОРА КОДА с заголовком функции отклика на нажатие этого пункта меню).Добавьте в тело функции строку:
Memo1->PasteFromClipboard(); //вставка текста из буфера.
Шаг 9.
* Щёлкните мышью на пункте меню СOPY. Добавьте в тело функции строку:
Memo1->SelText; //указатель на выделенный текст Memo1->CopyToClipboard(); //копирование выделенного текста в буфер
Шаг 10.
*Обработаем событие OnEnter,заключающееся в получении компонентой фокуса ввода.В тело появившейся функции добавьте строку:
Memo1->Text=""; //удаляет текст из компоненты
Шаг 11.
*Щёлкните мышью на пункте меню CUT. Добавьте в тело функции строку:
Memo1->SelText=""; //удаление выделенного текста
Шаг 12.
* Щёлкните мышью на пункте меню CUT ALL. Добавьте в тело функции строку:
Memo1->Text=""; //удаление всего текста
Шаг 13.
* Обработаем событие OnDestroy, соответствующее закрытию главной формы, а, следовательно, и закрытию приложения. Добавьте в тело функции строку:
Application->Terminate(); //закрытие приложения
Шаг 14.
* Щёлкните мышью на пункте меню HELP. Добавьте в тело функции строку:
Form2->ShowModal(); //показ Form2 в модальном режиме
Шаг 15.
* Щёлкните мышью на кнопке EXIT. Добавьте в тело функции строку:
Application->Terminate();//закрытие приложения
Шаг16.
*. Сохраните проект, выбрав пункт File / Save Project As.
Шаг 17. Запустите проект на выполнение.Вот что получилось:
Файл Text1.cpp имеет вид:
//-------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Text2.h"
#include "Text1.h"
//-------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//-------------------------------------------
__fastcall TForm1::TForm1 (TComponent* Owner) : TForm(Owner)
{
}
//-------------------------------------------
void __fastcall TForm1::PASTE1Click (TObject *Sender)
{ Memo1->PasteFromClipboard();
}
//-------------------------------------------
void __fastcall TForm1::COPY1Click (TObject *Sender)
{ Memo1->SelText;
Memo1->CopyToClipboard();
}
//-------------------------------------------
void __fastcall TForm1::Memo1Enter (TObject *Sender)
{Memo1->Text="";
}
//-------------------------------------------
void __fastcall TForm1::CUT2Click (TObject *Sender)
{ Memo1->SelText="";
}
//-------------------------------------------
void __fastcall TForm1::CUTALL1Click (TObject *Sender)
{ Memo1->Text="";
}
//-------------------------------------------
void __fastcall TForm1::FormDestroy (TObject *Sender)
{ Application->Terminate();
}
//-------------------------------------------
void __fastcall TForm1::HELP1Click(TObject *Sender)
{ Form2->ShowModal();
}
//-------------------------------------------
void __fastcall TForm1::Button1Click (TObject *Sender)
{ Application->Terminate();
}
//--------------------------
Файл Text1.h имеет вид:
…
//-------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMemo *Memo1;
TMainMenu *MainMenu1;
TMenuItem *CUT1;
TMenuItem *CUT2;
TMenuItem *COPY1;
TMenuItem *PASTE1;
TMenuItem *CUTALL1;
TLabel *Label1;
TMenuItem *HELP1;
TButton *Button1;
void __fastcall PASTE1Click(TObject *Sender);
void __fastcall COPY1Click(TObject *Sender);
void __fastcall Memo1Enter(TObject *Sender);
void __fastcall CUT2Click(TObject *Sender);
void __fastcall CUTALL1Click(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall HELP1Click(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
private : //User declarations
public : // User declarations
__fastcall Tform1 (Tcomponent *Owner);
};
//------------------------------------------------------
extern PACAGE TForm1 *Form1;
/------------------------------------------------------
#endif
Примечание: данная работа может быть выполнена с добавлением дополнительных функций и свойств, присущих текстовым редакторам.