StringGrid控件
组件名称:StringGrid

●固定行及固定列:
StringGrid.FixedCols:=固定行之数;
StringGrid.FixedRows:=固定列之数;
StringGrid. FixedColor:=固定行列之颜色;
StringGrid.Color:=资料区之颜色;
●资料行列之宽高度:
StringGrid.DefaultColWidth:=内定全部之宽度;
StringGrid.DefaultRowHeight:=内定全部之高度;
StringGrid.ColWidths[Index:Longint]:=某一行整行之宽度;
StringGrid.RowHeights[Index:Longint]:=某一列整列之高度;
●数据区(CELL)指定:
将某一行列停在画面之资料区最左上角:
StringGrid.LeftCol:=某一行号;
StringGrid.TopRow:=某一列号;
焦点移至某一格(CELL)内:
StringGrid.Row:=?;
StringGrid.Col:=?;
设定数据行列数:(包含固定行、列亦算在内)
StringGrid.RowCount:=?;
StringGrid.ColCount:=?;
写一字符串至某一格(CELL)内:
StringGrid.Cells[Col值 , Row值]:=字符串;
判断鼠标指针目前在哪一格(CELL)范围内:
在StringGrid之Mouse事件中(UP,DOWN或MOVE)下:
VAR C , R : Longint;
Begin
StringGrid.MouseToCell(X,Y,C,R); {X,Y由MOUSE事件传入}
{取回 C , R 即为目前之Col , Row值 }

......
●StringGrid之Options属性:
若要于程序执行中开启或关闭Options某一功能如 ‘goTABS’
开: StringGrid.Options:= StringGrid.Options + [goTABS];
关: StringGrid.Options:= StringGrid.Options - [goTABS];

goFixedHorzLine 固定列间之水平线
goFixedVertLine 固定行间之垂直线
goHorzLine 资料格间水平线
goVertLine 资料格间垂直线
goRangeSelect 鼠标可多重选择
goDrawFocusSelected 多重选择时,第一数据项反白
goRowSizing 鼠标可改变列高
goColSizing 鼠标可改变行宽
goRowMoving 鼠标可搬数据列
goColMoving 鼠标可搬数据行
goEditing 可编辑(与鼠标可多重选择互斥)
goAlwaysShowEditor 须有goEditing,不用按F4或ENTER即有等待输入光标
goTabs 允许TAB及Shift-TAB移动光标
goRowSelect 用鼠标点一下可选取整列(亦与鼠标可多重选择互斥)
goThumbTracking 滚动条动时GRID跟着动,否则滚动条动完放开,GRID才动
————————————————————————————————————————
功能:以网格形式显示或编辑多个字符串。
主要属性:

      Cells:获取每个单元格的值,用法Cells[ARow][ACol];  

Cols:TString类型,返回某一列的所有字符串,用法Cols[index];
Objects:列出一个单元格对应的对象,用法ObjectsARow;
Rows:TString类型,返回某一行的所有字符串,用法Rows[index];

      BorderStyle:设置字符串网格的边框的样式;  

Col:在运行期有效,获取有被选中的列;
ColCount:网格总列数;
ColWidths:网格中列的宽度,可以通过ColWidths[index]来设定特定列的宽;
DefaultColWidth:默认列宽;
DefaultDrawing:是否在整个网格被画出时即画出每个单元格,设为true,网格画出(paint)时即自动画(paint)单元格,设为false时,由程序员控制单元格的绘制(paint),使用DrawCell画(paint)单元格或OnDrawCells事件中处理单元格;
DefaultRowHeight:默认行高;
EditorMode:在运行期判断当前单元格是否处于编辑状态;
FixedColor:固定行或列的颜色;
FixedCols:固定列数量;
FixedRows:固定行数量;
GridHeight:网格的高度(除滚动条外),当客户区能显示所有行时,滚动条不会出现,此时GridHeight 与Height属性值相同,当客户区不能显示所有行时,滚动条出现了,GridHeight的为Height值减去滚动条高度;
GridLineWidth:分隔单元格的线的宽度;
GridWidth:与GridHeight类似,不过是网格的宽度(除滚动条外);
LeftCol:如果有横向滚动条的话,可见的最左边的列的ID号;
Options:为一个枚举(enum)值,设置StringGrid的一些属性;
Row:运行期有效,获取包含有被选中的行;
RowCount:StringGrid中行的数量;
RowHeights:StringGrid中每行的高度;
ScrollBars:设置当单元格无法全部显示时的滚动条;
Selection:当Options中允许选择一个区域时有效,返回选择的区域;
TabStops:是否允许某一列TAB键无效;
TopRow:类似于LeftCol,即可见的最上面的行的ID号;
VisibleColCount:可显示的完整的列(不包括FixCol和最右边显示不完全的列);
VisibleRowCount:可显示的完整的行(不包括FixRow和最小边显示不完全的行)。
主要方法:

      CellRect:返回某个单元格的Rect对象;  

MouseToCell:返回鼠标位置的单元格的行或列;
MouseCoord:返回指定行和列的单元格的位置Rect。
主要事件:

      OnColumnMoved:当行改变时触发该事件;  

OnDrawCell:自定义单元格的paint事件;
OnGetEditMask:指定单元格中处于Edit时的EditMask,即限定输入的字符;
OnGetEditText:在单元格处于Edit之前发生的事件,如在Edit之前转变单元格中文字的大小写等等;
OnRowMoved:当行被移动时触发该事件;
OnSelectCell:当单元格被选中时触发该事件;
OnSetEditText:当用户编辑单元格时触发该事件;
OnTopLeftChanged:当最上面的行或最左边的列改变时触发该事件。

Last modification:November 27th, 2014 at 12:07 am
如果觉得我的文章对你有用,请随意赞赏