
- •Саблукова н.Г. Программирование в среде delphi
- •Часть II
- •Создание проектов
- •Содержание
- •§1 Добавление графических изображений в проект
- •§2 Использование элементов анимации и мультипликации
- •Движение объектов
- •Задания
- •2.2 Изменение форм и видов объектов
- •Задания
- •2.3 Изменение размеров объектов
- •2.4 Пример программы движения объектов с элементами анимации и мультипликации типа «Тараканьи бега»
- •§3 Управление объектами
- •3.1 Управление объектом с помощью мыши
- •Создание проекта с использованием управления объектом с помощью мыши
- •Задания
- •3.3 Управление объектом с помощью клавиатуры
- •Задания
- •§4 Работа со строками
- •4.1 Строковый тип данных
- •4.2 Использование компонента tMemo для работы со строками
- •4.3 Работа со строками с помощью компонентов
- •Задания
- •5. Массивы
- •5.1 Одномерные массивы
- •Доступ к элементам массива
- •Задания
- •Многомерные массивы. Пример создания проекта с границами типа «Лабиринт»
- •Задания
- •6. Создание меню
- •6.1 Главное и вложенное меню
- •6.2 Создание текстового редактора с изменяемыми настройками типа «меню» и элементами диалога
- •7. Элементы мультимедиа
- •Литература
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; |