Есть форма (Frm1) с панелью (Panel1), занимющей 2/3 формы. Панель отрисовывает CAD-овский чертеж, путем библиотеки "CAD Image DLL". При наведении мышки на Panel1 пользователю должна быть представлена возможность масштабировать чертеж. При переходе курсора мыши за пределы Panel1 такую возможность нужно отключить.
Вопрос - как?
Попытался реализовать через событие "MouseWheel" панели, не получилось. При вращении скроллом - ничего не происходит, видимо Panel1 не может перехватить это событие, т.к. не фокусируется.
Поэтому я отслеживаю "MouseWheel" формой и ставлю дополнительно проверку на нахождение курсора в области панели.
- Код: Выделить всё
Private Sub Form1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
'Скролл
'Проверяем наведение курсора на область
If e.X < 0 Or e.Y < 0 Then Exit Sub
If panel1.Location.X + panel1.Size.Width < e.X Then Exit Sub
If panel1.Location.y + panel1.Size.Width < e.y Then Exit Sub
'Масштабируем
If FScale < 0 And e.Delta < 0 Then Exit Sub
FScale = Convert.ToInt32(FScale + e.Delta / 7)
panel1.Invalidate()
End Sub
Но, думаю, есть более грамотное решение. Не подскажите?