Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » OpenGL » Zoomen mit Mausrad

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:23 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
001
22.09.2004, 19:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:

Indicates distance rotated. The zDelta value is expressed in multiples or divisions of WHEEL_DELTA, which is 120. A value less than zero indicates rotating back (toward the user) while a value greater than zero indicates rotating forward (away from the user). The user can reverse this response by changing the Wheel setting in the mouse software. See the Remarks for more information about this parameter.



ich schätze mal das es irgendwann "umschlägt" und zDelta wieder was anderes ist als es sein sollte
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ OpenGL ]  


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: