从TStringGrid中选择一行,单击该行中的任何单元格.

Ser*_*yth 5 delphi tstringgrid

我在一个有1个FixedCol和1个FixedRow的表单上有一个TStringGrid对象.我希望能够在用户单击该行中的任何单元格时选择对象上的整行.此选择也必须对用户可见(我希望行改变颜色).

编辑:已将goRowSelect放在对象的选项中.现在有一种方法可以在单击固定列中的一个单元格时选择行吗?

小智 6

为了在用户单击该行中的任何单元格时突出显示整行,请设置以下StringGrid属性.

在设计时:转到options属性并检查以下子属性.

goEditing := TRUE;
goRowSelect := TRUE;
Run Code Online (Sandbox Code Playgroud)

要在运行时实现此目的,

StringGrid1.Options := StringGrid1.Options + [goEditing];
StringGrid1.Options := StringGrid1.Options + [goRowSelect];
Run Code Online (Sandbox Code Playgroud)


And*_*y_D 5

如果启用goFixedColClick字符串网格选项,则可以使用该OnFixedCellClick事件来确定要选择的行.然后StringGrid1.Selection := TGridRect(Rect(0, Row, n, Row));,您可以设置Row是单击行的位置,n是StringGrid的宽度.