我现在有一个Label控件,它的AutoSize属性设为false,我要在Label的Caption上显示一些字符串,
字符串的长度如果在Label显示不完则需要把Label的字体设小一点,直到刚好能显示完为止。
已知到Label的长度,Label的字体名称,字符串的个数。请问怎样才能做到字体的自动缩放?
字符串的长度如果在Label显示不完则需要把Label的字体设小一点,直到刚好能显示完为止。
已知到Label的长度,Label的字体名称,字符串的个数。请问怎样才能做到字体的自动缩放?
解决方案 »
- delphi工程能像pb一样生成多个pbl来减少exe的体积?
- 出现incompatible type:'string'and'pointer'错误。我是新学DELHPI的想请大家帮忙!谢谢!
- dbgrid查询问题
- 出售一些程序书籍:
- 用activex控件实现对word的操作
- 关于2个文件的合并!请各位指教
- delphi6用Quickreport 做的打印程序,在其他微机上运行,是否需要哪些 *.dll文件?,是否可单独运行?
- 又是一个送分的问题。。。。。。。
- 用 ADO Com 对象编程时,如何获得SQL 的执行进程??
- 如何才能把AdoQuery查询出的记录另存为一个表,是Access数据库。单机上的,谢谢!
- DBGRID刷新的问题
- 请问一个有关Table组件的问题?
而且字体不能无限的缩小,具体一点的说来
var
intFWidth:array[1..20] of Integer;
intCount:Integer;
intPWidth:Integer;
i:Integer;
begin
Label1.AutoSize:=True;
Label2.AutoSize:=False; Label1.Caption:='W'; for i:=1 to 20 do
begin
Label1.Font.Size:=i;
intFWidth[i]:=Label1.Width ;
end; Label2.Caption:=Edit1.Text;
intCount:=Length(Label2.Caption);
intPWidth:=Label2.Width div intCount; for i:=20 downto -1 do
if intFWidth[i]<= intPwidth then
Break; Label2.Font.Size:=intFWidth[i];end;