const
{$IFDEF PAIDVERS}
SDLVersionInfo = 'repsbut_r1210_full'; { version info }
IsLightEd = false;
{$ELSE}
SDLVersionInfo = 'repsbut_r1210_lighted';
IsLightEd = true;
{$ENDIF}
Release = 1210;
type
ESDLRepSpeedButton = class(ESDLError); { exception type to indicate errors }
{$IFDEF GE_LEV29}
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidWin64x)]
{$ENDIF}
TRepSpeedButton = class(TSpeedbutton)
private
FRClickTimerHandle : HWND;
FRClickTimerEnabled : boolean;
FOnRepeatClick : TNotifyEvent;
FRepClickIv : integer;
FStartIv : integer;
FIsStart : boolean;
procedure SetRepClickIv (value: integer);
procedure SetStartIv (value: integer);
procedure SetOnRepeatClick(Value: TNotifyEvent);
procedure UpdateTimer;
procedure InitTimer;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
protected
procedure DoTimer; dynamic;
procedure RepeatClickEvent(Sender: TObject);
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure WndProc(var Msg: TMessage); { virtual method of base class
is hidden deliberately }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property RepeatClickInterval: integer
read FRepClickIv write SetRepClickIv;
property StartClickInterval: integer read FStartIv write SetStartIv;
{$IFDEF GE_LEV17}
(**) property StyleElements;
{$ENDIF}
property OnRepeatClick: TNotifyEvent
read FOnRepeatClick write SetOnRepeatClick;
end;
|