在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中可以找到。