Visual Basic 6. Руководство разработчика



         

Методы объекта - часть 7


Подготовим код для изменения размеров и выравнивания двух элементов управления формы. Ниже приведено событие Resize формы HTMLEditor.

Private Sub Form_Resize()

RichTextBox1.Width = HTMLEdit.Width – RichTextBox1.Left – 200

WebBrowser1.Width = RichTextBox1.Width

RichTextBox1.Height = 0.3 * HTMLVal.Height

WebBrowser1.Move WebBrowser1.Left, RichTextBoxl.Top + _

RichTextBox1.Height + 120, WebBrowser1.Width, _

HTMLVal.Height - RichTextBoxl.Top -_

RichTextBox1.Height - 940

WebBrowser1.Navigate App.Path & "\empty.him"

End Sub

Другая особенность приложения HTMLEditor: полоска между двумя элементами управления действует как разделитель, который позволяет изменять размеры областей редактирования и просмотра. Это позволяет увеличивать размеры рабочего окна. Чтобы переместить разделитель вверх или вниз, необходимо поместить на него указатель мыши и нажать левую кнопку. Когда указатель превратится в двой­ную стрелку, переместите разделитель в необходимом направлении, а затем - от­пустите кнопку.

Чтобы использовать это свойство, нужно запрограммировать событие мыши для формы. Когда кнопка мыши нажата, код изменяет указатель мыши и сохраняет координату Y курсора мыши в переменной формы DragStartY. При этом перемен­ная ResiyWindows устанавливается в значение True, указывая, что два окна фор­мы можно изменить с помощью события MouseMove. Ниже приведен обработчик со­бытия MouseDown.

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

If Button = 1 And (Y > RichTextBoxl.Top + _

RichTextBox1.Height) And (Y < WebBrowser1.Top) Then

Screen.MousePointer = vbSizeNS

ResizeWindows = True

DragStartY = Y

WebHeight = WebBrowserI.Height

HTMLHeight = RichTextBoxl.Height

End If

End Sub

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

Private Sub Form_MouseMove(Button As Integer, _




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