Читайте также: |
|
Запустим приложение. При движении мыши по форме остается след из точек.
Но след должен оставаться, только если при движении мыши нажата левая кнопка мыши. Добавим это условие в код приложения. : (6)
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then frmPaint.PSet (X, Y)
End Sub
Если запустить только что созданную программу, то можно обнаружить небольшую проблему. Проблема состоит в том, что для того, чтобы нарисовать сплошную линию, нам необходимо двигать курсор мыши очень медленно. Как с этой проблемой справляются другие графические приложения? Очень просто. Они соединяют линией две соседние точки положения мыши. Это может показаться странным, но именно так работают графические редакторы.
Повторим этот метод в нашем приложении. : (7)
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then frmPaint.Line -(X, Y)
End Sub
Почти хорошо. Однако появилась неприятная особенность. Каждый раз, когда мы нажимаем кнопку мыши для того, чтобы начать рисовать новый фрагмент, приложение соединяет линией точку окончания предыдущего фрагмента с началом нового. Для этого нам понадобится знать начальное положение курсора мыши, при нажатии кнопки. Объявим две глобальные переменные в секции (General)(Declarations). : (8)
Дата добавления: 2015-07-16; просмотров: 53 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Свойства, методы и события | | | Dim intPrevX As Integer Dim intPrevY As Integer |