Hallo NG,
irgendwas mache ich falsch
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| {------------------------------------------------------------------} { Message-Behandlung des Programs festlegen } {------------------------------------------------------------------} function WndProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; begin case (Msg) of WM_MOUSEWHEEL: begin if Drehrichtung>HIWORD(wPARAM) then begin Drehrichtung:=HIWORD(wPARAM); skalar:=skalar-0.05; form1.normierung; result:=0; end; if Drehrichtung<HIWORD(wPARAM) then begin Drehrichtung:=HIWORD(wPARAM); skalar:=skalar+0.05; form1.normierung; result:=0; end; end; WM_CREATE: |
Die Variabel DREHRICHTUNG ist global und auf 120 gestellt. Ich möchte damit vergrössern bzw. verkleinern, je nachdem in welche Richtung das Rad gedreht wird. Problem nun: wenn ich die Maus um einen Zacken dreh (egal in welche Richtung) funktioniert das. Ab dann ist schluss und die Grafik fängt an zu zittern - sie vergrössert sich 1x und verkleinert sich dann wieder um 1x. Es scheint so zu sein, als ob ich nicht richtig auf das Richtungereignis reagiere.
Verknüpfe ich das mit einem Tastaturereignis (Cursor rauf oder runter) klappt alles. Ist aber unschön. Kann mir jemand helfen, auf das Wheel-Richtungsereignis richtig zu reagieren ?
Gruss und Danke
Markus