Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика_4 / Использование Visual Basic for Applications / Использование Visual Basic for Applications.doc
Скачиваний:
103
Добавлен:
23.02.2015
Размер:
731.65 Кб
Скачать

8.5.2. Объект Selection

Объект Selection выполняет функции выделения в окне. Выделение может содержать определенную область текста или представлять собой текущую позицию вставки (позицию курсора). В конкретный момент времени может существовать только одно выделение для активного окна документа и только одно выделение может быть активным. Для получения ссылки на объект Selection можно использовать свойство Selection соответствующих объектов. Методы объекта Selection практически полностью повторяют методы объекта Range.

Рассмотрим только один метод Selection, отсутствующий у объекта Range. Метод TypeText (Text) позволяет вставить текст в выделение. Если значение свойства ReplaceSelection равно True, то выполняется замена выделенного фрагмента на текст, задаваемый параметром Text. В противном случае текст вставляется перед выделенным фрагментом.

9. Задания для самостоятельной работы

9.1. Создание графического интерфейса

С помощью конструктора форм создать графический интерфейс простейшего текстового редактора. Интерфейс должен в себя включать:

  • элемент управления Поле для ввода и редактирования текста;

  • элемент управления Комбинированный список для выбора шрифта;

  • элементы управления Поле и Счетчик для изменения размера шрифта двумя способами;

  • элемент управления Выключатель для задания начертания шрифта: полужирный, курсив, подчеркивание;

  • элементы управления типа Кнопка для добавления текста в документ относительно выделенного фрагмента документа: «Заменить», «Добавить перед...» и «Добавить после...»;

  • элемент управления Кнопка для закрытия формы.

Для всех элементов создаваемой формы должно быть использовано свойство ControlTopText, определяющее всплывающую подсказку к элементу. На форме должны быть необходимые пояснения, оформленные с помощью компонента Надпись. Все элементы, кроме текстового поля должны быть заключены в рамку. Надписи на выключателях должны быть оформлены с использованием соответствующих им эффектов (для выключателя «Полужирный» надпись должна быть выполнена полужирным шрифтом и т.д.). Далее необходимо сохранить форму и экспортировать в отдельный файл.

9.2. Написание программного кода

Создать обработчики событий для элементов управления на форме простейшего текстового редактора с целью реализации следующих требований к работе формы.

1. Элементы управления типа SpinButton и TextBox, при помощи которых изменяется размер шрифта в текстовом поле, должны быть синхронизированы, т. е. изменение параметра Value одного из элементов должно влечь за собой изменение этого же параметра для другого элемента.

2. При некорректно введенном значении размера шрифта должно выводиться предупреждение пользователю, а не сообщение VBA об ошибке. После этого размер шрифта должен быть приведен к исходному значению. При вводе пустой строки сообщение об ошибке не выводится, а размер шрифта приводится к исходному значению.

3. При нажатии на выключатель для задания начертания шрифта (полужирный, курсив, подчеркивание) должно меняться соответствующее свойство шрифта в текстовом поле, а фокус должен переходить на поле редактирования текста. Аналогичные действия должны производиться и при выборе типа шрифта, и при выборе его размера.

5. Возможные значения (Items) для элемента ComboBox на форме, предназначенного для выбора шрифта, должны быть представлены всеми доступными шрифтамиWord.

При написании программного кода необходимо учесть следующие рекомендации. 1. Для изменения параметров шрифта используйте свойство Font свойства Text элемента TextBox. 2. Каждый элемент управления обладает методом SetFocus, который переводит фокус на элемент. 3. Для проверки, является ли введенное значение числом, можно использовать функции Val и CStr. 4. Не забывайте о параметре Cancel обработчика события AfterUpdate. 5. Элемент управления TextBox не поддерживает возможность форматирования выделенного текста, т. е. форматирование может быть применено только ко всему тексту в поле TextBox.