Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
1、它们的列对象分别是: TStringColumn、TColumn;
2、TStringGrid 比 TGrid 多出了 Cells[] 属性.
因为 TGrid 没有 Cells[] 属性, 暂时不方便使用; 我尝试取其当前单元值时竟然用了这样的代码:
(Grid1.Columns[Grid1.ColumnIndex].CellControlByRow(Grid1.Selected) as TTextCell).Text
TStringGrid 测试:
- { 设计时放好 StringGrid1, 运行时填充数据 }
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i,c,r: Integer;
- begin
- StringGrid1.AlternatingRowBackground := True;
- StringGrid1.UseSmallScrollBars := True;
- for i := to do //从设计时添加列比这方便
- begin
- with TStringColumn.Create(Self) do
- begin
- Parent := StringGrid1;
- Width := StringGrid1.ClientWidth / ;
- end;
- end;
- StringGrid1.RowCount := ;
- for c := to StringGrid1.ColumnCount - do
- for r := to StringGrid1.RowCount - do
- StringGrid1.Cells[c, r] := Format('%d,%d', [c, r]);
- end;
- { 取当前单元值 }
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- ShowMessage(StringGrid1.Cells[StringGrid1.ColumnIndex, StringGrid1.Selected]);
- end;
成员概览:
- { TCustomGrid }
- public
- constructor Create(...); override; //
- destructor Destroy; override; //
- function ColumnByIndex(...): TColumn; //根据索引获取列对象
- function ColumnByPoint(...): TColumn; //根据位置获取列对象
- function RowByPoint(...): Integer; //根据位置获取行号
- procedure AddObject(...); override; //
- property TopRow: Integer ...; //获取可见的首行的行号
- property VisibleRows: Integer ...; //获取可见的行总数
- property ColumnCount: Integer ...; //列数(也是只读)
- property ColumnIndex: Integer ...; //获取或设置列索引
- property Columns[Index: Integer]: TColumn ...; //以数组索引的方式获取列对象
- property RowCount: Integer ...; //行数(可读写)
- property Selected: Integer ...; //当前行号
- property OnGetValue: TOnGetValue ...; //取值时
- property OnSetValue: TOnSetValue ...; //赋值时
- published
- property StyleLookup; //
- property AlternatingRowBackground: Boolean ...; //是否使用交替背景; 默认 False
- property CanFocus default True; //
- property DisableFocusEffect default True; //是否取消焦点特效
- property RowHeight: Single ...; //行高
- property ShowSelectedCell: Boolean ...; //是否呈现单元选择效果; 默认 True
- property ShowVertLines: Boolean ...; //是否显示竖格线
- property ShowHorzLines: Boolean ...; //是否显示横格线
- property ShowHeader: Boolean ...; //是否显示表格头
- property ReadOnly: Boolean ...; //是否只读; 默认 False
- property TabOrder; //
- property OnEdititingDone: TOnEdititingDone ...; //输入时
- end;
- { TGrid }
- TGrid = class(TCustomGrid)
- published
- property RowCount; //
- property OnGetValue; //
- property OnSetValue; //
- end;
- { TStringGrid }
- public
- property Cells[ACol, ARow: Integer]: string ...; //
- published
- property RowCount; //
- end;
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid的更多相关文章
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...
- Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox
Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...
- Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo
Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo 值得注意的变化: 1.其父类 TScrollBox 的许多特性也很有用处, 如: Memo1.UseSma ...
- Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox
Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollB ...
- Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu
Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...
- Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览
Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public constructor Create(...); ov ...
- Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm
Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm 当我第一次读取 Form1.StyleLookup 并期待出现 "formstyle" 时 ...
- Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它
Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它 TFmxObject 增加了 TagObject.TagFloat.TagString, 算 ...
随机推荐
- 解决echarts内存泄露的问题
clear方法和dispose方法 一种是调用clear方法,一种是dispose方法.第一种是清理echarts 但是不销毁实例.第二种是销毁实例,再次使用需要重新构建实例 1. var chart ...
- 68. Text Justification (JAVA)
Given an array of words and a width maxWidth, format the text such that each line has exactly maxWid ...
- Apache ab测试工具使用方法(无参、get传参、post传参)(转)
转自Apache ab测试工具使用方法(无参.get传参.post传参) Ab测试工具是apache自带的测试工具,具有简单易上手的特性,下面我总结一下我的使用方法,首先去官方下载apache程序包, ...
- python模块之导入包及模块发布
1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...
- urllib urllib2学习笔记
Python的urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能.他们两个最显着的差异如下: urllib2可以接受一个Request对象,并以此可以来设置一个URL的h ...
- 用PS修改PNG格式图标的颜色
需求:将黑色的PNG格式图标,更改为其它颜色 原始图标: 原始图标 - 黑色 方法1: 图层样式 -> 颜色叠加 选择颜色叠加 选择想要的颜色 方法2: 更换颜色 一 ...
- exe远程注入线程xp
进程删除不了 某目录下txt ini config 无法修改
- 乐观锁和 MVCC 的区别?
二者不是一个层面的东西. MVCC(Multi-Version Concurrent Control),基于快照隔离机制(Snapshot Isolations)进行多版本并发控制,是一种以乐观锁为理 ...
- H5开发获取微信系统的地址列表
前段时间做了H5开发的项目,需要是要把微信系统自带的地址也给添加进来,意识也就是说用户可以选择项目的地址和微信自带的地址 效果图是这样的: 对就是这个需求 下面给出H5 页面下的微信添加HTML 然 ...
- 集合综合练习<二>
package com.JiHeTotal; import java.util.Map; public class Student { int id; String name; Map<Stri ...