看看我写的按钮组件为什么不能响应onClick事件
代码有问题吗?为什么OnMouseDown可行,OnClick就不行了呢?
谢谢指教。
unit FlatButton;
interface
uses
SysUtils, Classes, Controls, StdCtrls, Messages, Graphics, windows, ExtCtrls, buttons,forms,CommCtrl;
type
TFlatButton = class(TCustomControl)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
procedure Click;override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
published
{ Published declarations }
property OnClick;
property OnMouseDown;
end;
procedure Register;
implementation
constructor TFlatbutton.Create(AOwner:TComponent);
begin
inherited create(AOwner);
ControlStyle := [csOpaque, csDoubleClicks];
end;
destructor TFlatbutton.Destroy;
begin
inherited Destroy;
end;
procedure TFlatButton.Click;
begin
inherited Click;
end;
procedure TFlatButton.MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited MouseDown(Button, Shift, X, Y);
end;
procedure Register;
begin
RegisterComponents('Samples', [TFlatButton]);
end;
end.