Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_2_chast.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
4.1 Mб
Скачать

6.2 Создание текстового редактора с изменяемыми настройками типа «меню» и элементами диалога

Пример. Создать текстовый редактор, в который можно загрузить файл, отредактировать его и оформить.

Разработаем графический интерфейс проекта. Основной частью программы будет компонент TMemo – поле для редактирования и ввода теста. У компонента Memo1 установим свойство Align равным alClient, при этом текстовое поле будет занимать все свободное место независимо от размеров окна. Чтобы в текстовом редакторе работала вертикальная и горизонтальная прокрутка, следует задать у свойства ScrollBars значение ssBoth.

Поместим также на форму компонент TMainMenu и зададим для него опции подобно тому, как изображено на рис. 50.

Чтобы отделить группы команд разрывом, необходимо в пустом прямоугольнике поставить знак ‘–‘ (дефис без кавычек).

Рис. 51 Окно Редактора меню

Для организации диалога используем компоненты с панели Dialogs: TOpenDialog (диалоговое окно открытия файла), TSaveDialog (диалоговое окно сохранения файла), TColorDialog (диалоговое окно выбора цвета), TFontDialog (диалоговое окно выбора шрифта).

Рис. 52

Следует настроить свойства компонента TOpenDialog. Выбираем свойство Filter и щелкаем по кнопке с тремя точками – появляется окно Filter Editor, в котором имеется две колонки: Filter Name и Filter. В первой из них записывается имя, во второй – собственно маска. Заполним колонки следующим образом:

Рис. 53

В обработчик события для команды меню Открыть внесем следующий программный код:

procedure TForm1.N6Click(Sender: Tobject);

begin

if OpenDialog1.Execute then

Memo.Lines.LoadFromFile(OpenDialog1.FileName);

end;

Аналогично запишется программный код и для команды Сохранить. При этом у компонента TsaveDialog также следует задать маски сохранения.

Procedure Tform1.N7Click(Sender: Tobject);

begin

saveDialog1.FileName:=’Страница1.txt’;

if SaveDialog1.Execute then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

Создадим меню Правка, как на рис. 54:

Рис. 54 Окно Редактора кода

Обработчики событий для команд Правка будут выглядеть следующим образом:

Procedure TForm1.N10Click(Sender: Tobject);

begin

Memo1.Undo;

end;

Procedure TForm1.N11Click(Sender: Tobject);

begin

Memo1.SelectAll;

end;

Procedure TForm1.N12Click(Sender: Tobject);

begin

Memo1.CutToClipboard;

end;

Procedure TForm1.N13Click(Sender: Tobject);

begin

Memo1.CopyToClipboard;

end;

Procedure TForm1.N14Click(Sender: Tobject);

begin

Memo1.PasteFromClipboard;

end;

Procedure TForm1.N15Click(Sender: Tobject);

begin

Memo1.ClearSelection;

end;

Procedure TForm1.N16Click(Sender: Tobject);

begin

Memo1.Clear;

end;

Procedure TForm1.N17Click(Sender: Tobject);

begin

if ColorDialog1.Execute then

Memo1.Color:=ColorDialog1.Color;

end;

Procedure TForm1.N18Click(Sender: Tobject);

begin

if FontDialog1.Execute then

Memo1.Font:=FontDialog1.Font;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]