du musst die Mousedown richtig definieren (die procedure muss genau so aussehen wie sie aussieht wenn du das über den Objectinspektor machst) und dann musst du in deinem Create die Proceduren den Event zuweisen.
Delphi-Quellcode:
[...]
constructor TAButton.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
width:= 100;
height:=40;
color:=clyellow;
bevelinner:=bvRaised;
OnMouseDown := fMouseDownProc;
OnMouseUp := fMouseUpProc;
end;
procedure TAButton.FMouseDownProc(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
bevelinner:=bvlowered;
bevelouter:=bvlowered;
end;
procedure TAButton.FMouseUpProc(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
bevelinner:=bvraised;
bevelouter:=bvraised;
end;