关于改变字体的属性,高手请进.(100分)

  • 主题发起人 主题发起人 ★蓝天★
  • 开始时间 开始时间

★蓝天★

Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过程序,把窗体中的label1的font.color 进行改变,比如:若在一个edit1中输入
clgreen,按一下按钮,label1中的font.color的值就变成 clgreen,但是我本来想写成
label1.font.color:=edit1.text 但两都的类型不一样.不知该怎么办?
 
if edit1.text='clgreen' then
label1.font.color:=clgreen;
 
label1.font.color:=stringtocolor(edit1.text);
这个我试了,完成可以;
以前我也遇到这个问题;
现在可以把100分加给我了吧!
 
laohe的办法是可行的
可以直接输入clgreen, clblue等
也可以输入$ff0000、$00ff00等
 
laohe 的那种方法的确是可以的.但是如果我遇到的不是color,而是一个qrpapersize
的属性,时,那能用stringtoqrpapersize吗,事实证明是不可以 的,不知该怎么解决这个
问题?还有当遇到像extended,fontname,时呢?
 
蓝天:你要根据不同的数据形式来转变;这种小问题没有必要用函数过程;
label1.font.color:=stringtocolor(edit1.text);
label1.font.fontname:=edit1.text
遇到特殊的:可以用判断的形式解决;我用这种方法写了N个软件了
if edit1.text='B'then
label1.font.style:=FsBold;//粗体
if edit1.text='I'then
label1.font.style:=Fltalic;//斜体
你真的还不懂的话我也没办法了;你的100分还真不好赚
我现在没钱了,还不快分
 
支持laobe的说法,而且比较简便的.
 
laohe:但是在报表中的paper。papersize是一个很奇怪的属性。我本来准备按你的方法 写成
XXX。paper.papersize:=A4 但不行,提示没有定义A4 我该怎么办呢?
还 有报表中的 paper。width是一个extended属性,我本来用了 paper。width:=
strtoint(edit1.text);
编译没问题,但执行时就有问题了。不知该怎么办,请速回。
 
脑筋转一下!:(
 
该给你的我全给你了,其余的我不会!
 
告诉你吧,蓝天: 要改 papersize里的属性,你必须在 uses中 加入一个 qrprntr才行,其它
的一此属性修改 我就不太清楚了.报歉
 
我会用控件FontDialog来做。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部