Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Задание: программная реализация текстового редактора




 

Создать текстовый редактор, обеспечивающий основные стандартные функции:

· сохранение текста в файле и загрузка из файла

· выбор шрифта и стиля отображения текста

· выбор фона текста

· выполнение операций с текстовым буфером (копирование, вырезание и вставка текстовых фрагментов)

Инициализация всех перечисленных действий должна выполняться как через элементы меню, так и через кнопки инструментальной панели.

Поставленная задача решается в несколько этапов с постепенным наращиванием возможностей.

 

 

Основой редактора является стандартный компонент Memo, который обеспечивает все основные действия по вводу и удалению текста. К этому компоненту надо добавить стандартные компоненты-диалоги для открытия файла и сохранения в файле, а также - компонент для реализации меню. Для этого после открытия нового проекта необходимо сделать следующее.

  1. Разместить на форме компонент для реализации панели инструментов ToolBar со страницы Win32, который автоматически выравнивается по верхней части клиентской области формы; этот компонент будет использоваться позже, а пока он нужен только для разметки рабочего пространства формы
  2. Разместить на форме компонент Memo, установить его свойство Align в значение alClient для захвата редактором всей оставшейся клиентской области окна-формы, установить свойство ScrollBars в значение vertical для инициализации вертикального скроллера, активизировать свойство Lines, которое хранит строки текста и удалить из него имя объекта
  3. Разместить на форме компоненты OpenDialog и SaveDialog со страницы Dialogs, установить фильтр для имен файлов с помощью Filter Editor, причем для компонента OpenDialog установить фильтры для показа текстовых и любых файлов, а для компонента SaveDialog установить фильтр только для текстовых файлов, дополнительно установив свойство DefaultExt в значение txt
  4. Разместить на форме компонент MainMenu и двойным щелчком на нем активизировать визуальный конструктор меню, с помощью которого создать меню, содержащее 2 элемента - Файл (с командами Новый, Открыть, Сохранить) и Выход
  5. Закрыть конструктор меню и щелкнуть в форме поочередно на каждом пункте меню для автоматической генерации обработчиков событий
  6. Код обработчика команды Новый минимально должен содержать лишь вызов метода Clear объектного свойства Lines компонента Memo1 для удаления всего текста: Memo1.Lines.Clear
  7. Код обработчика команды Открыть минимально должен содержать очистку свойства Lines и вызов стандартного диалога открытия файла:

if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName)

  1. Аналогичный код имеет обработчик команды Сохранить, только вместо метода LoadFromFile надо вызвать метод SaveToFile
  2. После создания обработчиков сохранить проект, провести его компиляцию и проверку его работоспособности.
  3. Добавить в приложение наполнение панели инструментов, для чего на компоненте ToolBar разместить 3 компонента-кнопки SpeedButton. Для каждой из них:

· установить свойство ShowHint в true для активизации всплывающих ярлыков-подсказок

· в свойство Hint ввести текст подсказки (например - Открыть файл)

· активизировать свойство Glyph для установки рисунка на кнопке с помощью специального редактора Picture Editor (стандартные рисунки в виде bmp -файлов обычно находятся в каталоге C:\Program Files\Common Files\Borland Shared\Images\Buttons)

· создать обработчик, который должен выполнять те же самые действия, что и обработчик соответствующей команды меню; для этого код обработчика события от кнопки может вызвать соответствующую процедуру обработки события от меню

  1. Сохранить проект и проверить работу кнопок инструментальной панели
  2. Разместить на форме компоненты-диалоги Font и Color. Расширить меню новыми элементами Правка (с командами Вырезать, Копировать и Вставить) и Настройка (с командами Шрифт и Цвет фона). Добавить на панель инструментов соответствующие кнопки, объединив их в группы с помощью компонента-разделителя Splitter (страница Win32 палитры компонентов).
  3. Создать обработчики событий от кнопок и меню, используя следующие рекомендации:

· для работы с буфером компонент Memo имеет 3 метода: CopyToClipboard, CutToClipboard и PasteFromClipboard.

· для установки шрифта и цвета фона надо использовать свойства Font и Color компонента Memo, устанавливая их в те значения, которые возвращаются соответствующими диалогами.

  1. Добавить на панель инструментов новый управляющий элемент - комбинированный список для выбора шрифта без использования стандартного диалога. Для этого разместить на панели компонент ComboBox (отделить от соседней кнопки разделителем!), установить его свойство Style в DropDownList, включить показ ярлыка-подсказки
  2. Создать обработчик события формы OnCreate, код которого должен в момент создания формы загружать элементы списка (свойство Items) именами установленных в системе шрифтов; для этого можно использовать специальный невизуальный компонент Screen, у которого свойство Fonts (тоже типа TStrings) устанавливается автоматически
  3. Создать обработчик события OnClick для комбинированного списка; этот код должен устанавливать подсвойство Name свойства Font компонента Memo в значение, выбранное пользователем в комбинированном списке; индекс выбранного в списке элемента возвращается в свойстве ItemIndex
  4. Сохранить проект и проверить его работу
  5. В качестве самостоятельного упражнения заменить компонент Memo на компонент RichEdit, который обеспечивает работу с форматированным текстом

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных