Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
Hallo mal wieder
Folgende Problematik:
In meiner Anwendung rendere ich in ein Panel. (Eine Vollbildrenderung sehe ich derzeit auch nicht vor.) Drehen habe ich über das panel event on mousedown und on mousemove realisert.
Dabei möchte ich folgende Steuerung: bei gedrückter mittlerer Maustaste will ich zunächst zoomen wenn die maus hoch und runterfährt. -> das habe ich hinbekommen. wenn nun noch zusätzlich entweder die linke oder rechte maustaste gedrückt wird, soll statt gezoomed gedreht werden. Auch das habe ich hinbekommen über:
Code:
begin
if ((ssmiddle in Shift)and(ssright in shift ))or((ssmiddle in Shift)and(ssleft in shift)) then
Das funktioniert auch soweit, solange ich im panel bleibe.
Nun ist mir aufgefallen das sich das Programm aber ungleich verhält, wenn ich mit der Maus bei gedrückten Tasten aus dem Panel herausfahre. bei mittlerer Maustaste + rechter Maustaste bleibt die Drehbewegung sofort stehen wenn der Mauscursor die Panelgrenzen verlässt. bei mittlerer Maustaste + linker Maustaste wird weiter rotiert.
Ich hätte es gerne so, das auch bei mittlerer und rechter maustaste weitergedreht wird wenn das panel verlassen wird.
Registriert: Di Okt 13, 2009 17:25 Beiträge: 365
Programmiersprache: C++
Ich habe auch ein Programm, in dem ich in ein Panel rendere und mit gedrückter Maustaste die Sicht drehe. Den Mauszeiger setze ich dabei nach jeder kleinen Bewegung wieder in die Mitte des Panels zurück. Die Stärke der Sicht-Änderung kann das Programm daran "ablesen", wie weit der Cursor von der Mitte entfernt ist.
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.