Einzelnen Beitrag anzeigen

decibel666

Registriert seit: 27. Okt 2012
10 Beiträge
 
#1

Mausrad (mousewheel event ) in TFrame aktivieren

  Alt 22. Okt 2015, 18:44
Delphi-Version: 7
Hallo!

Ich habe eine Form welche während der Laufzeit ein Frame erzeugt und dieses mit Elementen befüllt. Das alles funktioniert einwandfrei!
Jetzt würde ich aber auch gerne das generiete Frame per mousewheel event (mit Mausrad) scrollen! Ich habe das folgendes gefunden, der Code produziert aber leider einen Stockoverflow und ich weiss nicht warum, villeicht kann mir ja jemand helfen :

Code:
type
  TMainForm = class(TForm)
  private
    procedure MouseWheelHandler(var AMessage: TMessage); override;
  public
    { Public declarations }
  end;

implementation

procedure TMainForm.MouseWheelHandler(var AMessage: TMessage);
var
  Control: TWinControl;
begin
  Control := FindVCLWindow(SmallPointToPoint(TWMMouseWheel(AMessage).Pos));
  if Assigned(Control) then
  begin
    AMessage.Result := Control.Perform(CM_MOUSEWHEEL, AMessage.WParam,
      AMessage.LParam);
    if AMessage.Result = 0 then
      Control.DefaultHandler(AMessage);
  end
  else
    inherited MouseWheelHandler(AMessage);
end;

Vielen DAnk
DeCi
  Mit Zitat antworten Zitat