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




Усовершенствованный текстовый редактор - часть 3


Handles NumericUpDown1.ValueChanged

        RTB.ZoomFactor

= NumericUpDown1.Value

End Sub

Пояснения: Рассмотрим процедуры по порядку сверху вниз.

Объект RichTextBox обладает большим количеством свойств и методов, которые и обуславливают богатство его возможностей. Начнем со свойства HideSelection, которое устанавливается в процедуре Form1_Load: Когда мы выделяем в поле темным цветом фрагмент текста, чтобы отформатировать его, а затем уходим из поля к соответствующей нашим желаниям кнопке, с уходом фокуса из поля исчезает и темный цвет выделения. Само выделение, правда, не исчезает и форматирование проходит нормально, но вот что именно было выделено, мы не видим. Это непривычно и неудобно. Чтобы темный цвет не исчезал, мы пишем в процедуре Form1_Load:

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

Перейдем к процедурам открытия и сохранения документа. RichTextBox сохраняет свой текст в так называемом RTF-файле, который не является обычным текстовым файлом, поэтому работать с ним мы не умеем. Однако, у объекта RichTextBox имеются методы LoadFile и SaveFile. Первый целиком загружает документ из файла в поле RichTextBox, а второй целиком сохраняет содержимое поля RichTextBox в файле. А нам больше и не надо.

Перейдем к следующим 6 процедурам, которые соответствуют 6 кнопкам форматирования в нашем проекте. Все они имеют дело со свойствами объекта RichTextBox, начинающимися на Selection…. При изменении значения этих свойств мы меняем формат (вид) выделенного фрагмента текста. Например, изменение свойства SelectionColor приводит к изменению цвета выделенного фрагмента текста.

В последней процедуре мы при помощи счетчика NumericUpDown меняем значение свойства ZoomFactor. Это свойство «приближает к глазам» содержимое поля RichTextBox или «удаляет его от глаз». Чем больше значение счетчика, тем ближе к глазам. В Microsoft Word этим занимается инструмент «Масштаб». Но наш простой инструмент работает хуже, потому что «заворачивает» текст, «уткнувшийся» в правую границу поля, на следующую строку.




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