具有Onclick的自定义按钮,隐藏Onclick事件

时间:2019-07-03 20:30:48

标签: delphi events components

我已经创建了一个自定义按钮。我用网格将其连接起来。并且我为点击事件制作了自定义代码。

简化了以下代码以便于理解。

一切正常,如果我单击按钮,则显示消息。但是由于我在这里运行更多代码。我想尽可能隐藏此按钮的所有事件。即使我实际上将TcxButton用作父类,这也是可能的吗?

unit cxGridButton;

interface

uses
  System.SysUtils, System.Classes, Vcl.Controls, Vcl.StdCtrls, cxButtons,
  cxGridDBTableView, Dialogs;

type
  TcxGridButton = class(TcxButton)
  private
    FGridView : TcxGridDBTableView;

  protected
    { Protected declarations }
  public
    { Public declarations }
     procedure Click; override;
  published
    property DBGridView : TcxGridDBTableView read FGridView write FGridView;
  end;

procedure Register;

implementation

procedure TcxGridButton.Click;
begin
  inherited; // call the inherited Click method.

  ShowMessage('AHA');
end;

procedure Register;
begin
  RegisterComponents('James', [TcxGridButton]);
end;

end.

1 个答案:

答案 0 :(得分:4)

设计时,您可以在注册组件时调用UnlistPublishedProperty(),从而从对象检查器中隐藏published属性。

运行时,您不能阻止代码访问public / published属性。