StringGrid类详解

事件句柄
1.StringGrid1GetEditText(Sender: TObject; ACol, ARow: Integer; var Value: string);
Options.goEditing = true才能触发此事件。此事件在单元格进入可编辑状态时触发。参数ACol,ARow为当前单元格的列号和行号(列号和行号都按顺序从0开始编码)。参数Value为当前单元格中的内容。
2.StringGrid1GetEditMask(Sender: TObject; ACol, ARow: Integer; var Value: string);Options.goEditing = true才能触发此事件。此事件在单元格进入可编辑状态时触发。参数ACol,ARow为当前单元格的列号和行号(。参数Value内容未深入了解,不详。
 
3.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
选择单元格时触发。参数ACol,ARow为当前单元格的列号和行号。参数CanSelect默认值True,设置为False时,控制焦点不能移出当前单元格。
 
4.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
触发此事件的现象有多种情况。单元格内容变更时触发。单元格编辑状态撤销时触发。当单元格内容变更时,参数ACol,ARow为当前单元格的列号和行号,参数Valuet为当前输入的内容。当单元格是从编辑状态撤出时。参数ACol,ARow为撤出前的单元格的列号和行号,参数Valuet为单元格撤出前的内容。
另,焦点直接移出StringGrid1时又不触发。
 
5.StringGrid1TopLeftChanged(Sender: TObject)
滚动条滚动时,StringGrid1的可视区域发生变化时触发。在StringGrid1.LeftCol或者StringGrid1.TopRow属性值变化时触发。StringGrid1的可视区域发生变化,这2个属性值会自动改变。
6.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
单元格重画时触发,很多操作都会触发此事件,此事件触发频率很高,不适宜在此句柄做复杂处理。编辑单元格内容时不会触发。
7.方法&属性
总列数:StringGrid1.ColCount;
总行数:StringGrid1.RowCount;
固定列数:StringGrid1.FixedCols;
固定行数:StringGrid1.FixedRows;
当期活动单元格列号:StringGrid1.Col;
当期活动单元格行号:StringGrid1.Row;
访问ACol列ARow行单元格内容:StringGrid1.Cells[ACol, ARow];
可见区域左边可视的第一列序号:StringGrid1.LeftCol;排除固定列。
可见区域上边可视的第一行序号:StringGrid1.TopRow;排除固定列。
 
Options.goEditing属性控制列是否可以编辑。  //OnSelectCell句柄中动态设置可编辑列的方法。 
if ACol in [StringGrid1.FixedCols..StringGrid1.ColCount-1] then  
  StringGrid1.Options := StringGrid1.Options + [goEditing] 
else   
StringGrid1.Options := StringGrid1.Options - [goEditing];
 
StringGrid1.Objects[ACol, ARow] 可用于存储各种对象,方便处理时使用。
当前活动单元格的LEFT值:StringGrid1.CellRect(StringGrid1.Col,StringGrid1.Row).Left;
当前活动单元格的Top值:StringGrid1.CellRect(StringGrid1.Col,StringGrid1.Row).Top;
当前活动单元格的列宽度值:StringGrid1.ColWidths[StringGrid1.Col];
当前活动单元格的行高度值:StringGrid1.RowHeights[StringGrid1.Row];
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值