在用MESSAGEBOX时,如果提示语有多行的话,为什么用后补空格的问题不能使字符串对齐?具体见下所示:var
s1, s2, s :string
begin
s1 := '第一' ; s2 := '第二行' ; s := s1 + StringOfChar(' ', 20 - Length(s1)) + '88' + #13#10 +
s2 + StringOfChar(' ', 20 - Length(s2)) + '99' ;
Application.MessageBox(pChar(s), '', 0) ;
end ;用上述方法为什么总是不能对齐,请问这是字体的缘故?还是PCHAR变量存放引起的?谢谢!
s1, s2, s :string
begin
s1 := '第一' ; s2 := '第二行' ; s := s1 + StringOfChar(' ', 20 - Length(s1)) + '88' + #13#10 +
s2 + StringOfChar(' ', 20 - Length(s2)) + '99' ;
Application.MessageBox(pChar(s), '', 0) ;
end ;用上述方法为什么总是不能对齐,请问这是字体的缘故?还是PCHAR变量存放引起的?谢谢!
解决方案 »
- 关于一个表查询的问题,请各位大侠看看,多谢了!
- 请问怎样才能实现类似Delphi的Object Inspector的效果
- 请问各位如何要根据性别,生日对身份证号进行校验谢谢,在线等。
- 关于数据筛选的问题。谢谢!
- Execl数据读取中的问题
- ListView怎么用?subitem怎么才能让它显示出来?
- 录入词典的问题
- 一个屏幕键盘程序如何在不同的FORM中都可使用
- 巨难问题:Delphi7窗体使用WebBrowser播放PPT,如何屏蔽“该文档已被修改,是否保存”对话框?
- richedit中文本应该存成什么文件?
- 有没有方法,提取字符串中的某个特定的字符,解决完马上给分!
- 请问一个窗口关闭问题?
先不说中文和英文,就算都是英文,不同的字体,空格宽度也不一样。看一下:"宋体"和"Tahoma".
就是利用tcanvas.TextWidth函数得到字符串的宽度。
但首先你要先设置canvas的font:=screen.hintfont;得到宽度以后就可以知道要补多少空格了。