Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: wie in Tcustomcontrol auf Scrollen reagieren??

  Alt 31. Dez 2010, 16:30
vielleicht fehlt ein SetFocus, folgendes geht bei mir
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TWheelDir=Procedure(Direction:Integer) of Object;
  TMyClass=Class(TCustomControl)
  private
    FOnMouseWheel: TWheelDir;
  published
  procedure WMMOUSEWHEEL(var Msg: TMessage); message WM_MOUSEWHEEL;

  published
  Property OnMouseWheel:TWheelDir read FOnMouseWheel write FOnMouseWheel ;
  End;
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure Wheel(dir:Integer);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyClass }

procedure TMyClass.WMMOUSEWHEEL(var Msg: TMessage);
begin

    if Assigned(FOnMouseWheel) then FOnMouseWheel(msg.WParam);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  With TMyClass.Create(self) do
    begin
      Parent := Self;
      Left := 0;
      Top := 0;
      Width := 200;
      Height := 200;
      SetFocus;
      OnMouseWheel := Wheel;
    end;
end;
procedure TForm1.Wheel(dir:Integer);
begin
  Caption := IntToStr(dir div ABS(dir));
end;
end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat