Bonjour,
J'ai du mal à comprendre les fonctions proposées par wxMouseEvent pour effectuer un zoom à la molette (macro EVT_MOUSEWHEEL).
Je ne saisi pas le rôle des fonctions :
wxMouseEvent::GetWheelRotation
wxMouseEvent::GetWheelDelta
(
détails ici)
Si quelqu'un veux bien m'expliquer !
Voila mon code à titre d'exemple où je dessine sur une wxScrolledWindow (qui ne marche pas bien sur) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 oid ImagePanel::OnMouseWheel(wxMouseEvent& event) { int rotation = event.GetWheelRotation(); wxClientDC dc(this); DoPrepareDC(dc); dc.Clear(); if(rotation > 0) {// Zoom in. _zoomFactor += 0.1; } else {//Zoom out. _zoomFactor -= 0.1; } dc.SetUserScale(_zoomFactor, _zoomFactor); dc.DrawBitmap(_bitmap, 0, 0, false); } event.Skip(); }
Partager