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, 算 ...
随机推荐
- Git 操作 GitHub
Git安装 https://www.cnblogs.com/taopanfeng/p/11076702.html 设置用户名(设置一次 以后就不用再设置了) git config --global u ...
- Windows 下apache https配置(phpstudy)
1.首先获取证书,https://www.pianyissl.com/ 免费三个月的 或者 自己生成私钥.证书,然后应用到apache中. http://blog.sina.com.cn/s/blo ...
- Laravel5如何向闭合函数内传递参数 where function 传参
如上,怎么将$title 像$query一样,在函数内部使用? $result = UserMenus::with(['menu'=>function($query){ $query->w ...
- Mac 升级python2.7 到 3.5
Mac 系统 OSX 10.12 以上 第1步:下载Python3.5 下载地址如下: Python3.5 第二步:安装python 3.50 点击下载好的pkg文件进行安装,安装完成之后,pyt ...
- Oracle数据库的下载安装和配置
前言·为了学习ORDBMS,下载一个Oracle数据库用来练习. 下载 我个人学习使用就没必要企业版 注册并登录Oracle官网 https://www.oracle.com 找到产品下载: 数据库: ...
- default关键字
default关键字在JDK8中有两个用处. 1.在switch语句的时候使用default int gender = 3; String genderString; switch (gender) ...
- Codeforces Round #569 (Div. 2) C. Valeriy and Deque
链接: https://codeforces.com/contest/1180/problem/C 题意: Recently, on the course of algorithms and data ...
- select编程[回调+事件循环]
感觉比java写起来还要忧伤..... """ select , poll,epoll 注意: epoll并不一定比select的性能好,这需要看场景 1. 在高并发场景 ...
- C++调试的骚操作
打LCT时突然发现的骚操作 举个栗子 正常调试下应该是这样的 然后用光标选中函数名时-- 可以发现函数被运行了一次(每选中一次都会运行) 然而当函数带了变量时就布星了
- Nginx做反向代理时访问端口被自动去除
使用的Nginx版本 : nginx/1.13.10 出现问题的配置文件如下 upstream http-web { server 0.0.0.0:9000; } server { listen 80 ...