Главная
Популярная публикация
Научная публикация
Случайная публикация
Обратная связь
ТОР 5 статей:
Методические подходы к анализу финансового состояния предприятия
Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века
Ценовые и неценовые факторы
Характеристика шлифовальных кругов и ее маркировка
Служебные части речи. Предлог. Союз. Частицы
КАТЕГОРИИ:
|
Задание: программная реализация текстового редактора
Создать текстовый редактор, обеспечивающий основные стандартные функции:
· сохранение текста в файле и загрузка из файла
· выбор шрифта и стиля отображения текста
· выбор фона текста
· выполнение операций с текстовым буфером (копирование, вырезание и вставка текстовых фрагментов)
Инициализация всех перечисленных действий должна выполняться как через элементы меню, так и через кнопки инструментальной панели.
Поставленная задача решается в несколько этапов с постепенным наращиванием возможностей.
Основой редактора является стандартный компонент Memo, который обеспечивает все основные действия по вводу и удалению текста. К этому компоненту надо добавить стандартные компоненты-диалоги для открытия файла и сохранения в файле, а также - компонент для реализации меню. Для этого после открытия нового проекта необходимо сделать следующее.
- Разместить на форме компонент для реализации панели инструментов ToolBar со страницы Win32, который автоматически выравнивается по верхней части клиентской области формы; этот компонент будет использоваться позже, а пока он нужен только для разметки рабочего пространства формы
- Разместить на форме компонент Memo, установить его свойство Align в значение alClient для захвата редактором всей оставшейся клиентской области окна-формы, установить свойство ScrollBars в значение vertical для инициализации вертикального скроллера, активизировать свойство Lines, которое хранит строки текста и удалить из него имя объекта
- Разместить на форме компоненты OpenDialog и SaveDialog со страницы Dialogs, установить фильтр для имен файлов с помощью Filter Editor, причем для компонента OpenDialog установить фильтры для показа текстовых и любых файлов, а для компонента SaveDialog установить фильтр только для текстовых файлов, дополнительно установив свойство DefaultExt в значение txt
- Разместить на форме компонент MainMenu и двойным щелчком на нем активизировать визуальный конструктор меню, с помощью которого создать меню, содержащее 2 элемента - Файл (с командами Новый, Открыть, Сохранить) и Выход
- Закрыть конструктор меню и щелкнуть в форме поочередно на каждом пункте меню для автоматической генерации обработчиков событий
- Код обработчика команды Новый минимально должен содержать лишь вызов метода Clear объектного свойства Lines компонента Memo1 для удаления всего текста: Memo1.Lines.Clear
- Код обработчика команды Открыть минимально должен содержать очистку свойства Lines и вызов стандартного диалога открытия файла:
if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName)
- Аналогичный код имеет обработчик команды Сохранить, только вместо метода LoadFromFile надо вызвать метод SaveToFile
- После создания обработчиков сохранить проект, провести его компиляцию и проверку его работоспособности.
- Добавить в приложение наполнение панели инструментов, для чего на компоненте ToolBar разместить 3 компонента-кнопки SpeedButton. Для каждой из них:
· установить свойство ShowHint в true для активизации всплывающих ярлыков-подсказок
· в свойство Hint ввести текст подсказки (например - Открыть файл)
· активизировать свойство Glyph для установки рисунка на кнопке с помощью специального редактора Picture Editor (стандартные рисунки в виде bmp -файлов обычно находятся в каталоге C:\Program Files\Common Files\Borland Shared\Images\Buttons)
· создать обработчик, который должен выполнять те же самые действия, что и обработчик соответствующей команды меню; для этого код обработчика события от кнопки может вызвать соответствующую процедуру обработки события от меню
- Сохранить проект и проверить работу кнопок инструментальной панели
- Разместить на форме компоненты-диалоги Font и Color. Расширить меню новыми элементами Правка (с командами Вырезать, Копировать и Вставить) и Настройка (с командами Шрифт и Цвет фона). Добавить на панель инструментов соответствующие кнопки, объединив их в группы с помощью компонента-разделителя Splitter (страница Win32 палитры компонентов).
- Создать обработчики событий от кнопок и меню, используя следующие рекомендации:
· для работы с буфером компонент Memo имеет 3 метода: CopyToClipboard, CutToClipboard и PasteFromClipboard.
· для установки шрифта и цвета фона надо использовать свойства Font и Color компонента Memo, устанавливая их в те значения, которые возвращаются соответствующими диалогами.
- Добавить на панель инструментов новый управляющий элемент - комбинированный список для выбора шрифта без использования стандартного диалога. Для этого разместить на панели компонент ComboBox (отделить от соседней кнопки разделителем!), установить его свойство Style в DropDownList, включить показ ярлыка-подсказки
- Создать обработчик события формы OnCreate, код которого должен в момент создания формы загружать элементы списка (свойство Items) именами установленных в системе шрифтов; для этого можно использовать специальный невизуальный компонент Screen, у которого свойство Fonts (тоже типа TStrings) устанавливается автоматически
- Создать обработчик события OnClick для комбинированного списка; этот код должен устанавливать подсвойство Name свойства Font компонента Memo в значение, выбранное пользователем в комбинированном списке; индекс выбранного в списке элемента возвращается в свойстве ItemIndex
- Сохранить проект и проверить его работу
- В качестве самостоятельного упражнения заменить компонент Memo на компонент RichEdit, который обеспечивает работу с форматированным текстом
Не нашли, что искали? Воспользуйтесь поиском:
|