Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) frmPaint.PSet (X, Y) End Sub

ОСНОВЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ VISUAL BASIC | Использование элементов управления | Использование переключателей и флажков | Private Sub cmd1_Click() If Len(txtFileName.Text) Then End If End Sub | Использование списков |


Читайте также:
  1. Private Sub cmd1_Click() If Len(txtFileName.Text) Then End If End Sub

Запустим приложение. При движении мыши по форме остается след из точек.

 

Но след должен оставаться, только если при движении мыши нажата левая кнопка мыши. Добавим это условие в код приложения. : (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

mybiblioteka.su - 2015-2024 год. (0.005 сек.)