1

TPanel のマウス ダウンをオーバーライドして、パネルをクリックするたびに色が変わるようにするにはどうすればよいですか? 私はこのコードを試しましたが、うまくいきません:

unit Unit1;

interface

uses
  System.SysUtils, System.Classes, Vcl.Controls, Vcl.StdCtrls, Vcl.ExtCtrls, 
  Vcl.Dialogs;

type
  TPanelAA = class(TPanel)
  protected
    procedure Paint; override;
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
  end;

procedure Register;

implementation

procedure TPanelAA.Paint;
begin
  inherited;
  Color := $0000FF;
end;

procedure TPanelAA.MouseDown(Button: TMouseButton; Shift: TShiftState;
  X, Y: Integer);
begin
  ShowMessage('mouse down');
  inherited;
  Color := $0000FF;
end;

procedure Register;
begin
  RegisterComponents('standard', [TPanelAA]);
end;

end.

私は「継承/上書き」が苦手です。前もって感謝します

4

1 に答える 1