估计只能自己写 function fff(source:string;needlen:integer):string; 需要长度// var ip,iLen:integer;
begin iLen := length(source); if ilen>= needlen then result:=source; ip:= (needlen-ilen) div 2; result := StringOfChar(' ', ip)+source + StringOfChar(' ', need-ip-ile); end;
function fff(source:string;needlen:integer):string;
需要长度//
var
ip,iLen:integer;
begin
iLen := length(source);
if ilen>= needlen then result:=source;
ip:= (needlen-ilen) div 2;
result := StringOfChar(' ', ip)+source + StringOfChar(' ', need-ip-ile);
end;
不是这个意思,我是要在赋值时自动取;
若按此法,前后的空格该取多少呢?
若RichEdit中的内容如下:
部门 !----此行居中
人员 !----此行左对齐
我要得到一个字串是:
' 部门 !
人员'
不知各位大侠有没有用过Ehlib,在PrintDBGridEh中的BeforeGridText中属性设置是通过一个
RichEdit来实现的(设计期间),在里面设定的格式如是居中,那么打出来效果就是居中的。
其实我就是想把这种效果在运行期体现出来 。
在一般情况下,我可以通过Printer.PageWidth-TextWidth(Str)除以2得出居中,但是
基于ehlib,因为是封装的,看源代码也看不太明白这里是怎么实现。
另外,请教各位,如何得到字符的宽度(Width)?
应该是有办法的。
分数过几天再发吧,这几天凡是进来者都有分!