Delphi 中禁止 StringGrid 单元格被选中
环境
- Windows 11 23H2
- Delphi 12 Update 1
使用 Delphi 的 StringGrid 展示数据而不愿意某个单元格被选中时,曾经的手段是把选中位置调整到无效位置从而实际上使得单元格无法被选中。阅读文档偶然发现 OnSelectCell 事件提供了很简单也更规范的方法实现了这一目的。
procedure TFrom.StrGrdSelectCell(Sender: TObject; const ACol, ARow: Integer; var CanSelect: Boolean);
begin
CanSelect := False;
end;
在 FMX 框架中测试此方法有效。在 VCL 代码中观察到 TStringGrid 控件中有 OnSelectCell 事件,并且有 CanSelect 参数。推测 VCL 中此方法同样有效。
标签:单元格,Delphi,selected,StringGrid,cell,选中 From: https://www.cnblogs.com/cndavidwang/p/18470254文档地址: Vcl.Grids.TCustomDrawGrid.OnSelectCell
Occurs before a cell in the grid is selected.
Write an OnSelectCell event handler to specify whether any particular cell in the grid can be selected. The Col and Row parameters indicate the column and row indexes of the cell that is about to be selected. Set the CanSelect parameter to False to prevent the cell being selected.