Thema: Delphi WM_MOUSEWHEEL abfragen

Einzelnen Beitrag anzeigen

PatrickB

Registriert seit: 13. Dez 2007
61 Beiträge
 
#1

WM_MOUSEWHEEL abfragen

  Alt 13. Mär 2008, 14:25
Hi,

ich hab ein kleines Problemchen.
Es sind 2 SynEdit-Felder vorhanden.
Wenn ich jetzt an dem einen Feld scrolle, soll das andere auch mitscrollen.
Das hab ich jetzt so gelöst:
Delphi-Quellcode:
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  _OldProc := SynEdit1.WindowProc;
  SynEdit1.WindowProc := WndMessage;
end;
....
procedure TForm1.WndMessage(var msg: TMessage);
begin
  case msg.Msg of
    WM_VSCROLL: SendMessage(SynEdit2.Handle, WM_VSCROLL,
        TWMVScroll(msg).ScrollCode, TWMVScroll(msg).Pos);
    WM_MOUSEWHEEL: SendMessage(SynEdit2.Handle, WM_VSCROLL,
        TWMVScroll(msg).ScrollCode, TWMVScroll(msg).Pos);

  end;
  _OldProc(msg);
end;
Wenn ich jetzt an den kleinen Pfeilen an der Scrollbar scrolle, dann klappt das auch. Aber wenn man mit dem Mousewheel versucht zu scrollen, klappt das im ersten Fenster. Im 2. SynEdit-Feld scrollt es aber immer nur nach oben, egal ob ich jetzt das Mausrad herunter oder hinauf drehe.

Wie kann man prüfen ob das Mausrad nach oben oder unten gedreht wurde?
Oder wo liegt jetzt der Fehler?

Danke schonmal,

Patrick
  Mit Zitat antworten Zitat