我怎么知道用户何时点击TButtonedEdit.OnRightButton?

时间:2016-09-16 14:08:55

标签: delphi delphi-xe7

我正在构建(在Delphi XE7中)基于TGroupBox的自定义控件。 它包含TButtonedEdit等控件。

constructor TMyControl.Create(aOwner: TComponent);
VAR myIcon: TIcon;
begin
 inherited Create(aOwner);
 ...
 edtPath:= TButtonedEdit.Create(Self);
 WITH edtPath DO
  begin
   Parent                := Self;
   RightButton.Glyph.OnClick:= MyOwnHandler;      <- Here error: "Cannot access protected symbol TEditButton.Glyph"
   RightButton.OnRightButtonClick:= MyOwnHandler; <- Here error: "Undeclared identifier: 'OnRightButtonClick'"
  end;
end;

我如何知道用户何时按下RightButton?

GetOnRightButtonClick和SetOnRightButtonClick是私有的。 对于RightButton.Glyph.OnClick。

也一样

1 个答案:

答案 0 :(得分:2)

没有理由访问RightButton或超出控件本身的任何内容。只需将您的事件处理程序直接分配给TButtonedEdit.OnRightButtonClick即可。您在控件属性中找到的任何事件仅供控件本身在内部使用。这些事件未发布,因此您不应尝试使用它们。

WITH edtPath DO
begin
  Parent                := Self;
  OnRightButtonClick:= MyOwnHandler;
end;