当前位置:文档之家› 在Canvas上写字 drawtext

在Canvas上写字 drawtext

在Canvas上写字 drawtext
在Canvas上写字 drawtext

在Canvas上写字drawtext()

作者:金海龙(bigengineer@https://www.doczj.com/doc/d415966457.html,)

Win32 API用于在Canvas上写字的函数“DrawT ext()”,理解难度大,不易掌握,

软件工程师金海龙先生重写了一个“在Canvas上写字的函数”,

这就是:DrawLabelFaceT ext();

procedure DrawLabelFaceT ext(Canvas:TCanvas;

R1:TRect;

S:TStrings;

VertAlign:integer=1;

HorzAlign:integer=1;

Enabled:boolean=true;

DisabledColor:TColor=$00FEFEFE;

ShowAccelChar:Boolean=true);

功能:把文字S写到Canvas的R1区域。

参数详解:

参数含义

V ertAlign 垂直方向对齐方式

HorzAlign 水平方向对齐方式

Enabled 文字是否不带阴影

DisabledColor 阴影的颜色(当Enabled=false时,这个参数

有效)

ShowAccelChar 是否显示“&”

下面Form2中的文字就是用这个函数写的(注意看:上中下对齐,左中右对齐):

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='1'

strtoint(edit2.text),//edit2.text='1'

false,

clwhite,

false);

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='1'

strtoint(edit2.text),//edit2.text='2'

false,

clwhite,

false);

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='1'

strtoint(edit2.text),//edit2.text='3'

false,

clwhite,

false);

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='2' strtoint(edit2.text),//edit2.text='3' false,

clwhite,

false);

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='3' strtoint(edit2.text),//edit2.text='3' false,

clwhite,

false);

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='3' strtoint(edit2.text),//edit2.text='2' false,

clwhite,

false);

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='3' strtoint(edit2.text),//edit2.text='1' false,

clwhite,

false);

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),//edit1.text='2'

strtoint(edit2.text),//edit2.text='2'

false,

clwhite,

false);

drawlabelfacetext(

form2.canvas,

clientrect,

form1.Memo1.Lines,

strtoint(edit1.text),edit1.text='2'

strtoint(edit2.text),//edit2.text='1'

false,

clwhite,

false);

在Form2中点击按钮就会自动在Canvas上写多行字,其中的两个文本框控制对齐方式。左边第一个文本框是Edit1,第二个文本框是Edit2。

Edit1控制垂直方向的对齐,Edit2控制水平方向的对齐。

取值含义

1 水平左对齐、垂直上对齐

2 水平居中对齐、垂直居中对齐

3 水平右对齐、垂直下对齐

在delphi 6第三方组件《财富2010》中可以找到这个函数。

可免费下载《财富2010》试用版,大约在2010年10月15日可以用Google搜索到。

上面用来写在的函数在JinHailongFunction.pas中可以找到。

相关主题
文本预览
相关文档 最新文档