我最近重新编译了 TDBGrid 组件,以实现几个自定义功能,尽管我注意到额外的设计时上下文菜单项“列编辑器”的功能现在已经消失了。
我找不到任何可以在原始Vcl.DBGrids
单元中创建此菜单的代码,并且在网上寻找有关如何执行此操作的解决方案时运气不佳。
这也适用于双击。它曾经调用 Columns Editor,现在它只是创建 OnCellClick 事件。
我最近重新编译了 TDBGrid 组件,以实现几个自定义功能,尽管我注意到额外的设计时上下文菜单项“列编辑器”的功能现在已经消失了。
我找不到任何可以在原始Vcl.DBGrids
单元中创建此菜单的代码,并且在网上寻找有关如何执行此操作的解决方案时运气不佳。
这也适用于双击。它曾经调用 Columns Editor,现在它只是创建 OnCellClick 事件。
在组件的设计时包中,实现组件编辑器:
type
TMyComponentEditor = class(TComponentEditor)
procedure ExecuteVerb(Index: Integer); override;
function GetVerb(Index: Integer): string; override;
function GetVerbCount: Integer; override;
end;
procedure TMyComponentEditor.ExecuteVerb(Index: Integer);
begin
case Index of
0:
Beep;
end;
end;
function TMyComponentEditor.GetVerb(Index: Integer): string;
begin
Result := 'Beep';
end;
function TMyComponentEditor.GetVerbCount: Integer;
begin
Result := 1;
end;
您还需要注册此组件编辑器。调用RegisterComponentEditor
您的Register
程序来执行此操作:
RegisterComponentEditor(TMyComponent, TMyComponentEditor);