当我右键单击DBGrid时,它会打开一个弹出菜单,但是当右键单击时,它也会选择(高亮显示)我当前所在的单元格。
当右键单击并且只打开弹出菜单时,有没有办法不选择(高亮显示)我所在的单元格?
祝你好运 约瑟夫
答案 0 :(得分:1)
您可以使用插入器类或自己的派生组件拦截DBGrid的WM_RButtonDown。
示例可能如下所示:
type
TDBGrid=Class(VDBGrids.TDBGrid)
Procedure WMRButtonDown(var Msg:TMessage);Message WM_RButtonDown;
End;
TForm3 = class(TForm)
........
implementation
{$R *.dfm}
{ TDBGrid }
procedure TDBGrid.WMRButtonDown(var Msg: TMessage);
begin
if Tag = 123 then // abuse the tag or implement an own property to handle only wished grid
Msg.Result := 0
else inherited;
end;