首页 > 其他分享 >Delphi 中禁止 StringGrid 单元格被选中

Delphi 中禁止 StringGrid 单元格被选中

时间:2024-10-16 16:33:54浏览次数:8  
标签:单元格 Delphi selected StringGrid cell 选中

Delphi 中禁止 StringGrid 单元格被选中

环境

  1. Windows 11 23H2
  2. 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 中此方法同样有效。

文档地址: 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.

标签:单元格,Delphi,selected,StringGrid,cell,选中
From: https://www.cnblogs.com/cndavidwang/p/18470254

相关文章

  • Delphi10.3控件水平,垂直 均匀排列
    用鼠标框选中控件, 再右键  先水平左对齐, 再垂直间隔相同  同理,水平均匀排列也一样,先顶对对齐再水平间隔相同  ......
  • Delphi 自定义窗体(最大化、最小化、关闭、窗体的移动)
    UsesShellAPI;1、//最小化procedureTForm1.btn1Click(Sender:TObject);varI,J,X,Y:Word;begin//第一种:最小化在屏幕的左下角,不是常见的最小化//WindowState:=wsMinimized;//第儿种:最小化在任务栏里面,是常见的最小化postmessage(Self.Handle,WM_SYSCOMMAN......
  • 单元格之间创建循环超链接01
    我们可以使用openpyxl库来操作Excel文件。以下是代码,展示了如何在指定的工作表中为具有相同值的多个单元格之间创建循环超链接安装openpyxl首先,确保你已经安装了openpyxl库。如果没有安装,可以使用以下命令进行安装:pipinstallopenpyxlimportopenpyxldefcrea......
  • 获取在excel中各种格式的日期单元格的年月部分 (VBA代码)
    公共部分  -->开始按钮PrivateSubCommandButton1_Click()DimaryALLData,colNamesDimcurRowNo,curColNo,iRowCount,iColCountConstcnst_fldRowNo=1Constcnst_BeginDataRowNo=2'----------IfMsgBox("开始执行......
  • EasyExcel读取合并单元格数据
    EasyExcelEasyExcel文档地址:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read一、前言当excel表格的数据表头和内容都比较工整,每个单元格对应一个数据时,通过EasyExcel可以很容易就将数据读取出来。但是当表格数据存在合并单元格时,还是按照EasyExc......
  • table 单元格合并
    table元素合并单元格,用法倒是很简单,但过程中遇到了点小问题,记录下:1、多行多列合并,使用 rowSpan、colSpan设置要合并的行列数,再将合并后的多余单元格删除即可:functionmerge(table,px,py,row,col,remove=true){py--;lettarget=table.rows[px].......
  • 使用openpyxl读取Excel设置了公式的单元格 默认读取的是公式而不是公式结果
    使用openpyxl对单元格有公式的Excel的sheet进行操作,如果又读又写,可以采用双重读取方式解决。在Excel中,如果单元格的值是通过公式计算的,而你通过openpyxl库读取时发现获取的是公式而非结果,原因是openpyxl默认只读取单元格的公式而不计算公式的结果。为了获取公式计算后的......
  • delphi 12 利用TNetHTTPClient 解决post https问题注意事项
          在以前的版本中,如果需要向https接口交互数据,需要openssl的支持,特别时openssl版本太多,往往需要调试很长时间, 现在新版的DelphiXE8以上的版本,有了TNetHttpClient,可以简单的是实现和https接口的交互。usesSystem.Net.URLClient,System.Net.HttpClient......
  • EasyExcel导出合并单元格
    处理结果:把a,b列相同内容的单元格进行合并引入easyexcel:<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version></dependency>示例代码:publicvoidexportStrategyDetail(......
  • aspose.cell 合并内容一样的单元格
    ///<summary>///数据合并///</summary>///<paramname="mySheet"></param>///<paramname="columnIndex">合并的列下标</param>///<paramname="dataIndex">从哪一行开始</param>///<paramna......