Читайте также:
|
|
«Текстовый редактор»
Условие задачи:
Используя компоненту 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
Примечание: данная работа может быть выполнена с добавлением дополнительных функций и свойств, присущих текстовым редакторам.
Дата добавления: 2015-10-28; просмотров: 149 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Управление видимостью панели инструментов | | | Методические материалы выполнения задания |