Dan*_*lly 2 delphi popupmenu delphi-2010 tstringgrid
我在使用TStringGrid和Popup菜单时遇到问题
我想知道从弹出菜单中选择项目时最后一个活动单元格的行/列.但是,当我单击弹出菜单时,StringGrid.Row返回-1.
我尝试使用MouseToCell作为OnClick的一部分,但即使在设置SG.Row之后它仍然在PopUp菜单例程中返回为-1 ...我怀疑问题是网格失去焦点.
是否有任何解决方案不需要OnClick设置全局变量?
我正在使用链接到弹出菜单上的项目的动作列表,以确保工具栏和弹出菜单之间的操作是一致的
我担心我不完全明白你的意思.当我左键单击字符串网格中的单元格时,它会被选中,但是当我右键单击它时则不会.当我右击它,在弹出菜单中显示(如果指定),以及MenuItemClick我可以轻松地阅读row和col当前选择.查看示例视频.
我猜你真的想要这个:你想要右键点击来改变活动单元格以及左键单击.这很容易做到:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
StringGrid1.Perform(WM_LBUTTONDOWN, 0, MakeLParam(Word(X), Word(Y)));
end;
Run Code Online (Sandbox Code Playgroud)