ПОНЯТНО О Visual Basic NET (том 3)




Усовершенствованный текстовый редактор


Поставим задачу создать на основе поля RichTextBox усовершенствованный текстовый редактор. Внешний вид его вы можете видеть на Рис. 20.6.

Рис. 20.6

Большое прямоугольное поле на форме – это и есть RichTextBox. Вы вводите в него вручную любой текст и форматируете его, то есть изменяете его внешний вид. Чтобы отформатировать фрагмент текста, вы его, как принято в текстовых редакторах, сначала выделяете, а затем нажимаете одну из шести кнопок в окне редактора, а именно:

Кнопка Настроить шрифт вызывает диалоговое окно настройки шрифта, после чего предварительно выделенный в текстовом поле фрагмент текста форматируется выбранным шрифтом.

Смысл кнопок Налево, По центру, Направо ясен из текста в поле RichTextBox на рисунке.

Кнопки Поставить и Снять ставят и снимают маркеры перед строкой. У нас на рисунке маркеры – это, круглые пятна перед «яблоками и мандаринами».

Кнопки Открыть документ и Сохранить документ вызывают диалоговые окна открытия и сохранения файла.

Счетчик Масштаб управляет приближением содержимого текстового поля к нашим глазам.

Кнопка Кнопка будет объяснена чуть позже.

Конечно, в текстовых редакторах элементов управления побольше, но для понимания работы RichTextBox хватит и этих. Конечно, все эти кнопки просятся в меню или на панель инструментов (о которой речь позже), но я сделал как попроще. Меню вы можете сделать и сами.

Создайте проект. Поместите на форму нужные кнопки, метки, счетчик NumericUpDown. Поместите  на форму элемент управления RichTextBox и для краткости переименуйте его в RTB. Поместите в проект диалоговые окна открытия, сохранения файла, настройки шрифта.

Вот программа:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        RTB.HideSelection

= False        'Чтобы выделение не снималось с фрагмента при уходе фокуса с поля     

End Sub

Private Sub Открыть_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Открыть.Click

        OpenFileDialog1.Filter = "RTF-файлы|*.RTF"




Содержание  Назад  Вперед