Пользовательская кнопка с Onclick, Скрыть событие Onclick - PullRequest
1 голос
/ 03 июля 2019

Я создал пользовательскую кнопку. Я подключаю его с помощью сетки. И я сделал специальный код для события «при нажатии».

Код ниже упрощен для понимания.

Все работает, если я нажимаю кнопку, отображается сообщение. Но так как я запускаю намного больше кода здесь. Я хотел бы скрыть, если это возможно, все события для этой кнопки. Возможно ли это, даже если я на самом деле использую 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 Ответ

4 голосов
/ 04 июля 2019

В время разработки , вы можете скрыть свойство published из Инспектора объектов, вызвав UnlistPublishedProperty() при регистрации вашего компонента.

В во время выполнения , вы не можете помешать коду получить доступ к public / published свойствам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...