编程论坛
注册
登录
编程论坛
→
VFP论坛
请教怎么在messagebox中对齐文本
huasinstamps
发布于 2023-06-08 22:19, 828 次点击
只有本站会员才能查看附件,请
登录
我在写messagebox时是对齐文字的,但运行时多行的文字却不对齐,好像是居中的格式(如图)。
请教各位老师和前辈这是什么问题,怎么设置和解决。非常感谢!
8 回复
#2
tigerpub
2023-06-09 00:02
只有本站会员才能查看附件,请
登录
无问题
#3
csyx
2023-06-09 01:25
从 Vista 开始,Windows 默认字体就从宋体改为雅黑了,而雅黑是比例字体而非等宽字体,所以你设计时看到的对齐与消息框显示的不同,英文系统中这都常见的事。
没简单的方法来做到绝对对齐,简单点的方法只能是尝试用 tab 字符 chr(9),或者全角空格,但都很难适应所有用户的情况,这包括不同屏幕缩放率、用户更改了消息框字体、。。。等等
唯一能达到要求的办法只有使用 GDIPlus 测量字符串长度,通过添加空格并计算结果长度来调整,但为一个消息框不值得花费这些成本,还不如自己写个消息框表单
#4
吹水佬
2023-06-09 05:50
换行不行吗
#5
hu9jj
2023-06-09 07:28
自己设计一个提示表单来替代messagebox。
#6
csyx
2023-06-09 07:52
就楼主这个特例,处理起来根本不费事,把②前面的空格换成全角空格就行
实际应用中不是只有这种特例情况,在 messagebox 中需要对齐的内容千变万化,没简单的通用方法
楼主只要明白,对不齐是字体原因就好
[此贴子已经被作者于2023-6-9 07:54编辑过]
#7
laowan001
2023-06-09 08:38
xmsg="填写格式:"
xmsg=xmsg+chr(10)+"(1) 信息区和参照价数据区之间用实横线分隔"
xmsg=xmsg+chr(10)+"(2)年份格式为 xxxx-xxxx (第二年份空时为空格)"
MESSAGEBOX( xmsg)
看看这样行不
#8
csyx
2023-06-09 09:26
咋就看不懂需求呢,楼主是要这种样式,换行对齐谁不会?
只有本站会员才能查看附件,请
登录
#9
huasinstamps
2023-06-09 09:30
谢谢楼上各位大师!按csyx老师的方法改成全角空格解决了!!
每次在论坛提问,不但都获得解决方法,还了解学到了很多信息
1