gpt4 book ai didi

delphi - 从内部组件传播事件

转载 作者:行者123 更新时间:2023-12-03 19:07:08 27 4
gpt4 key购买 nike

我正在编写一个包含很少组件的组件。

TMyComponent = class(TPanel)
private
fGrid : TExCustomDBGrid;
fOnCellClick : TDBGridClickEvent;
public
constructor Create(AOwner: TComponent); override;
published
property OnCellClick: TDBGridClickEvent read FOnCellClick write FOnCellClick;
End;
...
constructor TMyComponent .Create(AOwner: TComponent);
begin
inherited;
fGrid := TExCustomDBGrid.Create(self);
fGrid.parent := self;
fGrid.Align := alClient;
end;


我希望能够将事件从组件(TPanel)传播到包含的fGrid。
我怎样才能达到那个目标?

我想我应该在TPanel上声明一个具有相同类型的事件(作为容器组件)。然后如何传播到fGrid中?

最佳答案

不清楚您要问的是什么,但是根据我看到的代码,编写一个事件处理程序并将其分配给网格...

procedure TMyComponent.DBGridCellClicked(Column: TColumn);
begin
if Assigned(fOnCellClick) then
fOnCellClick(Column);
end;

constructor TMyComponent.Create(AOwner: TComponent);
begin
inherited;
fGrid := TExCustomDBGrid.Create(self);
fGrid.Parent := self;
fGrid.Align := alClient;
fGrid.OnCellClick := DBGridCellClicked;
end;

关于delphi - 从内部组件传播事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com