[Delphi] WndMessage - WM_MOUSEWHEEL

PatrickB

Well-known member
ID: 137508
L
24 April 2006
496
13
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:

Code:
...
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