Osobno mouse klik, osobno mouse wheel

Osobno mouse klik, osobno mouse wheel
Antar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

Witam,

Aplikacja ma za zadanie przesunąć grafikę lub ją zeskalować (grafika wektorowa) w WinForm.

Przesunięcie odbywa się za pomoca ciągu zdarzeń:
private void Vector_MouseDown(object sender, MouseEventArgs e)
private void Vector_MouseMove(object sender, MouseEventArgs e)
private void Vector_MouseUp(object sender, MouseEventArgs e)

Skalowanie chciałem zrealizować za pomoca zdarzenia:
protected override void OnMouseWheel(MouseEventArgs e)
problem w tym, że OnMouseWheel działa jak Mouse Down (a następnie aktywowane jest Mouse Move) a tego chciałbym uniknąć.

Jak to rozwiązać?
próbowałem to rozwiązanie, ale messagebox nie wyskakuje:

Kopiuj
        private void Mapa_MouseDown(object sender, MouseEventArgs e)
        {

            if (e.Delta == 0)
            {
                x0 = e.X;
                y0 = e.Y;

            }
            else
            {
                if (e.Delta > 0)
                {
                    vector_z = vector_z * 0.9;
                }
                else
                {
                    vector_z = vector_z / 0.9;
                }

                MessageBox.Show("wheel");
            }
        }
chesti
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie wiem jak twój angielski ale z tego co czytam tutaj to nie wszystkie kontrolki mają obsługę MouseWheel i przekazują je na parenta.

gswidwa
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 839
0

A nie da się w kontrolce nadrzędnej użyć eventu Mouse.mousewheel zamiast mousewhell?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.