Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: wie in Tcustomcontrol auf Scrollen reagieren??
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)
|
|
Zitat
|