将 TPoupMenu 分配给 TAdvColumnGrid 中的就地编辑器
Assign TPoupMenu to Inplace editor in the TAdvColumnGrid
我正在处理 TAdvColumnGrid
,我遇到了 PopupMenu
的一个问题。
我已将弹出菜单分配给网格。当网格中的单元格为 selected/focused 时,右键单击鼠标按钮我可以显示 PopupMenu。
但是如果列单元格在 edit mode
中并且我单击了 right mouse
按钮,那么会出现 default windows Popup
。
我希望显示与选择单元格时相同的弹出窗口。
请找到下面两个弹出窗口的图片。
如果需要更多信息,请告诉我。
感谢和问候,
Ankit Balbudhe
您没有提到您使用的版本。但是例如对于 TAdvColumnGrid 版本 3.1.3.9 你可以覆盖 CreateEditor 方法:
type
TAdvColumnGrid = class(AdvCGrid.TAdvColumnGrid)
protected
function CreateEditor: TInplaceEdit; override;
end;
implementation
{ TAdvColumnGrid }
function TAdvColumnGrid.CreateEditor: TInplaceEdit;
begin
Result := inherited;
if Result is TAdvInplaceEdit then
TAdvInplaceEdit(Result).PopupMenu := PopupMenu; { ← assign to editor popup menu }
end;
我正在处理 TAdvColumnGrid
,我遇到了 PopupMenu
的一个问题。
我已将弹出菜单分配给网格。当网格中的单元格为 selected/focused 时,右键单击鼠标按钮我可以显示 PopupMenu。
但是如果列单元格在 edit mode
中并且我单击了 right mouse
按钮,那么会出现 default windows Popup
。
我希望显示与选择单元格时相同的弹出窗口。
请找到下面两个弹出窗口的图片。
如果需要更多信息,请告诉我。
感谢和问候, Ankit Balbudhe
您没有提到您使用的版本。但是例如对于 TAdvColumnGrid 版本 3.1.3.9 你可以覆盖 CreateEditor 方法:
type
TAdvColumnGrid = class(AdvCGrid.TAdvColumnGrid)
protected
function CreateEditor: TInplaceEdit; override;
end;
implementation
{ TAdvColumnGrid }
function TAdvColumnGrid.CreateEditor: TInplaceEdit;
begin
Result := inherited;
if Result is TAdvInplaceEdit then
TAdvInplaceEdit(Result).PopupMenu := PopupMenu; { ← assign to editor popup menu }
end;