实例5
本例功能:
在FireMonkey中StringGrid对于字体的调整由于没有font属性和onDrawCell事件使得变得有些麻烦,后来费了一些功夫才找到方法。但由于XE3中某些属性还是没有,(比如说:StGrid.RealignContent;)于是下载了XE4才得以修改成功。 1、字体修改为居中,红色,20号 运行效果图:

unit Unit22;

interface

uses

System.SysUtils, System.Types, System.UITypes, System.Rtti, System.Classes,

System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs,

FMX.StdCtrls, FMX.Grid, FMX.Layouts, FMX.Header, Data.DB, Datasnap.DBClient;

type

TForm22 = class(TForm)

StringGrid1: TStringGrid;

Header1: THeader;

StyleBook1: TStyleBook;

StringColumn1: TStringColumn;

StringColumn2: TStringColumn;

StringColumn3: TStringColumn;

procedure FormCreate(Sender: TObject);

procedure ChangeGridFont;

procedure GridCellStyle_alRight(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form22: TForm22;

implementation

{$R *.fmx}

procedure AlignHeaders(StGrid: TStringGrid);

var Header: THeader;

I: Integer;

begin

Header := THeader(StGrid.FindStyleResource('header'));

if Assigned(Header) then

begin

for I := 0 to Header.Count - 1 do

begin

Header.Items[I].TextAlign := TTextAlign(0);

Header.Items[I].StyledSettings:=[];   //如果没有这句,则字体大小,颜色不会改变

with Header.Items[I].Font do

begin

Size := 22;

Style := [TFontStyle.fsBold];

end;

end;

Header.Height := 48;

end;

StGrid.RealignContent;

end;

procedure TForm22.FormCreate(Sender: TObject);

var i,j:integer;

begin

AlignHeaders(StringGrid1);

for i := 0 to StringGrid1.RowCount-1 do

for j := 0 to StringGrid1.ColumnCount-1 do

StringGrid1.Cells[j,i]:=Format('第%d行,第%d列', [i,j]);;

ChangeGridFont;

//StringGrid1.Columns[j].Width:=200;

//StringGrid1.Columns[1].Width:=190;

//StringGrid1.Columns[2].Width:=80;

end;

procedure TForm22.GridCellStyle_alRight(Sender: TObject);

var

TC: TTextCell;

begin

AlignHeaders(StringGrid1);

if ( Sender <> Nil ) and ( Sender is TTextCell ) then

begin

TC := TTextCell( Sender );

TC.StyledSettings:=[];    //如果没有这句,则字体大小,颜色不会改变

TC.FontColor := TAlphaColors.Red;

TC.Font.Family := '宋体';

TC.Font.Style := [ TFontStyle.fsBold, TFontStyle.fsItalic ];

TC.Font.Size := 20;

TC.TextAlign := TTextAlign.taLeading;

end;

end;

procedure TForm22.ChangeGridFont;

var

i: Integer;

Col: Integer;

// Row: Integer;

CellCtrl: TStyledControl;

begin

for Col := 0 to StringGrid1.ColumnCount - 1 do

begin

for i := 0 to StringGrid1.Columns[Col].ChildrenCount - 1 do

begin

CellCtrl := TTextCell(StringGrid1.Columns[Col].Children[i]);

if ( CellCtrl <> Nil ) and ( CellCtrl is TTextCell ) then

TTextCell(CellCtrl).OnApplyStyleLookup := GridCellStyle_alRight;

end;

end;

end;

end.

StringGrid 实例5 本例功能:字体修改为居中,红色,20号的更多相关文章

  1. StringGrid 实例4 本例功能: 1、给每个单元格赋值 2、调整当前单元格位置:上下左右;

    实例4 本例功能:1.给每个单元格赋值 2.调整当前单元格位置:上下左右: 运行效果图:

  2. StringGrid 实例3: 本例功能: 1、修改 TStringGrid的默认宽与高; 2、添加行; 3、确认当前单元并赋值.

    实例3: 本例功能: 1.修改 TStringGrid的默认宽与高; 2.添加行; 3.确认当前单元并赋值. 实例图形:

  3. StringGrid 实例2:1、获取 StringGrid 的行数、列数; 2、给单元赋值.

    实例2: 本例功能: 1.获取 StringGrid 的行数.列数; 2.给单元赋值. 运行效果图:

  4. linux下google chrome浏览器字体修改

    今天安装了最新的chrome,我是下载的.deb包直接安装的. 安装完后,用chrome浏览页面时,发现字体有的大,有的小,还不清楚. 于是在网上搜索了一下如何设置字体. 1.打开Chrome浏览器. ...

  5. GitHub下载的 Git Shell中出现的字符支持警告,将字体修改为新宋体即可

    ——解决办法: 将命令行字体修改为新宋体就可以了. 文章引用:http://www.cnblogs.com/veryinf/archive/2012/10/26/2740899.html

  6. Ubuntu 字体修改以及字体的相关知识 分类: ubuntu 2014-06-19 21:46 81人阅读 评论(0) 收藏

    Ubuntu chrome 字体修改 打开任意一张含有输入框的网页,比如Google首页,然后右键点击"搜索框"会拉出一个菜单,我们这样选: 拼音检查选项==>语言设置==& ...

  7. groupbox 下的datagridview的列标题字体修改混乱

        groupbox 下的datagridview的列标题字体修改混乱

  8. 利用HBase的快照功能来修改表名

    hbase的快照功能常常被用来做数据的恢复的,但是由于项目的特殊需求需要改hbase表的表名.在官网上通过快照功能来修改hbase表名的用法: 下面展示用shell命令的和Java api两种方式: ...

  9. 系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面

    改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionS ...

随机推荐

  1. 使用html2canvas实现批量生成条形码

    /*前台代码*/ <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Generat ...

  2. C++_static与非static成员(函数)

    static与非static成员(函数)  <C++ Primer>第4版399页: 对于特定类类型的全体对象而言,访问一个全局变量有时是必要的.然而,全局变量会破坏封装:对象需要支持特定 ...

  3. 关于linux 卸载问题

    网上找了一套引擎 非用protocbuff 2.4.1 结果机器上已经装好了2.6.1 网上找了好多办法都行不通 最后终于在一个群里问到  mark一下 例如 我想卸载当前得protoc 那么 第一步 ...

  4. android 解析XML方式(一)

    在androd手机中处理xml数据时很常见的事情,通常在不同平台传输数据的时候,我们就可能使用xml,xml是与平台无关的特性,被广泛运用于数据通信中,那么在android中如何解析xml文件数据呢? ...

  5. CentOS查看系统信息-CentOS查看命令

    一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...

  6. 【转载】Think as Customer 以客户为中心的测试理念

    纵观各大公司的核心理念,往往都有一条类似“以客户为中心”的价值观.华为公司更是把“以客户为中心”放在其核心价值观的第一条,以显示它的重要性.从我 们入职培训开始,公司就反复强调并引导大家深入讨论,希望 ...

  7. js引用类型姿势

    栈 1)var a=new Array(),a.push(a,b,...),a.pop() queue 1)var a=new Array(), a.push(a,b,...),a.shift() a ...

  8. 扩展编写jquery插件的方法

    比如要扩展验证功能(jquery.validate.js)中的 messages: { required: "This field is required.", remote: & ...

  9. lua学习

    在lua中,一切都是变量,除了关键字. 1.注释: 单行注释: 连续两个减号“--”表示注释的开始,一直延续到行末.相当于C语言中的“//” 多行注释:由“--[[”表示注释开始, “]]”表示注释结 ...

  10. hi3531 SDK 编译 kernel, 修改 参数

    开发环境用户指南上这么写的 3.1 内核源代码 成功安装Hi3531 SDK后,内核源代码已存放于SDK目录下的osdrv/目录中,用户可 直接进入目录进行相关操作. 3.2 配置内核 如果对内核和H ...