Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » OnMouseWheel reagiert verzögert

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.09.2004, 15:21 Uhr
tronaccount



Hallo!

Ich entwickle z.Zt. eine MFC-Anwensung mit OpenGL-Einbindung und möchte meine 3D-Objekte gern zoomen.

Also habe ich die OnMouseWheel()-Funktion überschrieben mit folgendem Code:


C++:
BOOL CMfc_basicView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{

//neuen Zoom errechnen
zoom = zoom + zDelta*0.0001;

//Zoom ausführen mit korrektem Zentrum
glTranslated( refVector[0], refVector[1], refVector[2]);
glScaled(zoom, zoom,zoom);
glTranslated( -refVector[0], -refVector[1], -refVector[2]);

//Fenster neu aufbauen
Invalidate(FALSE);

return CView::OnMouseWheel(nFlags, zDelta, pt);
}



Ich habe aber einen sehr seltsamen Effekt: Drehe ich das Mausrad in eine Richtung, zoomen die Objekte korrekt. Ändere ich die Drehrichtung des Rades, so dauert es ein paar Drehungen, bis der Zoom ebenfalls in die andere Richtung geht. Je öfter ich die Richtung wechsle, desto länger dauert die Verzögerung.

Fällt einem von Euch was dazu ein?

Danke und Gruß,

T.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: