请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1450|回复: 0
收起左侧

StringGrid控件用法

[复制链接]

747

主题

1048

回帖

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 2021-6-8 21:51:48 | 显示全部楼层 |阅读模式


StringGrid控件
组件名称:StringGrid  
   
●固定行及固定列:
StringGrid.FixedCols:=固定行之数;
StringGrid.FixedRows:=固定列之数;
StringGrid. FixedColor:=固定行列之颜色;
StringGrid.Color:=资料区之颜色;

●资料行列之宽高度:
StringGrid.DefaultColWidth:=内定全部之宽度;
StringGrid.DefaultRowHeight:=内定全部之高度;
StringGrid.ColWidths[Indexongint]:=某一行整行之宽度;
StringGrid.RowHeights[Indexongint]:=某一列整列之高度;

●数据区(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:列出一个单元格对应的对象,用法Objects[ARow][ACol];  
  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:当最上面的行或最左边的列改变时触发该事

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-3-29 23:04 , Processed in 0.135781 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表