- •Министерство образования российской федерации
- •Северо-западный государственный заочный технический университет
- •В. Л. Макаров
- •Прикладное программирование
- •Конспект лекций с. Петербург 2003г
- •Окно формы. Форма является основой большинства приложений , так как на ней размещаются другие управляющие компоненты. Внешний вид окна формы показан на рисунке 1.3.
- •3.Основные свойства, методы и события формы
- •Компоненты vcl
- •5.1. Кнопки управления
- •5.2. Окно редактирования Edit
- •5.3 Многострочные окна редактирования Memo и RichEdit
- •5.4 Компоненты выбора из списков – ListBox, CheckListBox, ComboBox
- •5.5 Элемент управления Label (надпись или метка)
- •5.6 Элемент управления RadioButton (Радиокнопка)
- •5.7 Полосы прокрутки (ScrollBar)
- •5.9 Компонент Timer(Таймер)
- •5.10 Компонент StringGrid ( таблица строк)
- •5.11 Компонент Chart – графики и диаграммы
- •5.12 Компонент f1Book
- •6. Создание меню
- •7. Системные диалоги
- •7.1 Диалоги открытия и сохранения файлов
- •7.2 Диалог выбора шрифта(компонент FontDialog )
- •7.3 Диалог выбора цвета(компонент ColorDialog )
- •7.4Диалоги поиска и замены текста(компоненты FindDialog и ReplaceDialog )
- •8.1 Структура головного файла проекта
- •8.2 Структура файлов модулей форм
7.2 Диалог выбора шрифта(компонент FontDialog )
Этот компонент вызывает диалоговое окно выбора шрифта ,в котором пользовательможет выбрать имя ширфта ,его стиль(начертание), размеры и другие атрибуты.Основное свойство компонента – Font,в котором можно задать начальные установки атрибутов шрифта или прочесть значениея атрибутов, выбранные пользователем в процессе диалога.Свойства MaxFontSize и MinFontSize устанавливают ограничения на максимальный и минимальный размеры шрифта. По умолчанию значения этих свойств равны 0 ,при этом никакие ограничения не накладываются.Свойство Option содержит множество опций ,определяющих особенности отображения окна выбора атрибутов шрифта. По умолчанию все опции отключены кроме опции fdEffects , которая отображает индикаторы специальных эффектов (жирный шрифт,курсив ,подчеркивание и т.д.) и список цветов.
Фрагмент кода иллюстрирующего применениу компонента FontDialog при использовании в качестве окна редактирования компонента RichEdit1 имеет вид:
If ( FontDialog1-> Execute())
RichEdit1->SelAttributes->Assign(FontDialog1->Font);
В данном фрагменте меняются атрибуты шрифта только выделенной части текста . При необходимости изменнять шрифт всего текста целесообразно использовать оператор:
If ( FontDialog1-> Execute())
RichEdit1->Font->Assign(FontDialog1->Font);
7.3 Диалог выбора цвета(компонент ColorDialog )
С помощью этого компонента вызывается диалоговое окно выбора цвета , в котором пользователь может выбрать цвет из базовой палитры.Основным свойством компонента является свойство Color , которое соответствует тому цвету , который выбрал в диалоге пользователь.Полученное значение цвета можно передать любому компонентному объекту , имеющему одноименное свойство.Например, следующий фрагмент кода приведет к окрашиванию фона компонента RichEdit1 цветом, выбранным пользователем в диалоге ColorDialog1.
If (ColorDialog1-> Execute())
RichEdit1->Color = ColorDialog1->Color;
//---------------------------------------------------------------------------
Программный код приложения, иллюстрирующего примеры использования рассмотренных диалогов показан на рисунке 7.1.Интерфейс приложения содержит форму, на которой расположены семь кнопок типа(Button), многострочный редактор (RichEdit1) и диалоги: открытия и сохранения файлов(OpenDialog1 и SaveDialog1), выбора шрифтов ( FontDialog1) и выбора цвета( ColorDialog1) .
//Программный код приложения по применению различных диалогов
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString MyFName="";//Описание переменной
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)//Открыть файл
{
if(OpenDialog1->Execute())//Открытие диалога OpenDialog1
{
MyFName= OpenDialog1->FileName;//Присвоение переменной имени файла
RichEdit1->Lines->LoadFromFile(MyFName);//Загрузка файла с заданным именем в текстовый редактор
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)//Сохранить как
{
SaveDialog1->FileName=MyFName;
if(SaveDialog1->Execute())//Открытие диалога SaveDialog1
{
MyFName= SaveDialog1->FileName;
RichEdit1->Lines->SaveToFile(MyFName);// Сохранение файла с заданным именем
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)//Сохранить
{
if(MyFName!="")
RichEdit1->Lines->SaveToFile(MyFName);//Сохранить если имя файла задано
else if(SaveDialog1->Execute())
{
MyFName= SaveDialog1->FileName;
RichEdit1->Lines->SaveToFile(MyFName); //Сохранить как если имя файла не задано
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)//Изменение щрифта, выделенной части текста
{
if(FontDialog1->Execute()) //Вызов диалога FontDialog1
RichEdit1->SelAttributes->Assign( FontDialog1->Font); Изменение атрибутов щрифта в выделенной части текста редактора RichEdit1.
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)// Изменение атрибутов щрифта во всем тексте
{
if(FontDialog1->Execute())
RichEdit1->Font->Assign( FontDialog1->Font);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)//Изменение цвета фона редактора
{
if(ColorDialog1->Execute())
RichEdit1->Color=ColorDialog1->Color;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender) //Изменение цвета фона шрифта
{
if(ColorDialog1->Execute())
RichEdit1->Font->Color=ColorDialog1->Color;
}
//------------------------------------------------------------------
Рис.7.1 Программный код примеров, иллюстрирующих работу диалоговых окон
Программный код данного приложения при нажатии соответствующих кнопок позволяет:
Открыть файл;
Запомнить файл со старым именем;
Сохранить файл с новым именем;
Изменить шрифт для выделенной части текста;
Изменить шрифт всего текста;
Изменить цвет фона многострочного редактора;
Изменить цвета шрифта.