事件句柄
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];
分享到:
相关推荐
c++Builder组件StringGrid的使用说明
使用stringgrid实现行多选, 然后通过拖拽移动选择行位置 按住ctrl可以多选不连续的行
StringGrid实例 单元格变色等 学好DELPHI 就是学好这个控件 个人感觉
详细讲解StringGrid DBGrid用法,有delphi源码
描述delphi中StringGrid的简单用法 本程序一成功运行 不会出现bug
C# datagridview实现Delphi StringGrid功能,初学者很有用
BCB 6.0基本元件StringGrid使用範例程式,一個八皇后遊戲(BCB 6.0)
Delphi将Stringgrid指定行添加到Memo控件中,选中StringGrid中的行,点击右下角的“添加”按钮,即可将选中的StringGrid行数据添加到下边的Memo控件中显示。部分源代码如下: procedure TForm1.FormCreate(Sender:...
StringGrid打印报表(FastReport)
delphi_StringGrid使用全书
Delphi中StringGrid动态绑定下拉列表
实现了使用StringGrid各种功能的代码例子,比如嵌套日期控件,对它的 属性的灵活运用等!
StringGrid应用演示
StringGrid的扩展控件, 在StringGrid的基础上增加了: 分别定义每列属性; 支持多层表头、表头斜线 单元格合并、拆分; 每个单元格可单独设置字体、颜色、对齐等格式 随意行、列锁定 指定表格背景图片,格线顔色 对每行...
stringgrid拖动换行泛型stringgrid拖动换行泛型stringgrid拖动换行泛型
stringgrid拖动换行泛型修正stringgrid拖动换行泛型修正stringgrid拖动换行泛型修正
delphi7 在stringGrid控件中嵌入ComboBox;可以直接运行。通过选择ComboBox来修改stringGrid的值。代码非常少
这是给StringGrid的某一列添加组合框的完整示例。 不过这里的StringGrid是raize控件包的,自带的StringGrid也是可以用的,只需要替换一下控件和改一下控件的名字。
在StringGrid控件中实现显示Excel形式的合并单元格效果,也可以用AdvStringGrid,XLGRID等第三方控件,不过要破解比较麻烦。 原理是通过重载 OnDrawCell 事件procedure TForm1.SGDrawCell(Sender: TObject; ACol, ...
checkbox stringgrid 加下拉 加下拉框 checkbox in stringgrid 表中加上下拉框 源码