游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3291|回复: 4

TextButton的文本对齐问题

[复制链接]

16

主题

31

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2011-4-20 17:39:00 | 显示全部楼层 |阅读模式
but->Alignment = taCenter; //也是默认的方式,但是并没有真正的居中,而是从文本的第1个字符开始居中,并不是从文本的中心X居中.

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66484
QQ
发表于 2011-4-20 19:12:00 | 显示全部楼层

Re:TextButton的文本对齐问题

不太明白你的意思。

看代段,这里的处理是先求出整段文本的宽度,再/2计算中心。完全是以文本中文为准的。

16

主题

31

帖子

39

积分

注册会员

Rank: 2

积分
39
 楼主| 发表于 2011-4-20 22:07:00 | 显示全部楼层

Re:TextButton的文本对齐问题

OnEnter(GUIObject* obj)
{
Vertex2f f(2.0,2.0);
but->DrawFont->Scale = f;
but->Alignment = taCenter;
}//鼠标进入后,按钮字体宽高放大1倍,然后居中。。。结果就是不居中。。

16

主题

31

帖子

39

积分

注册会员

Rank: 2

积分
39
 楼主| 发表于 2011-4-20 22:14:00 | 显示全部楼层

Re:TextButton的文本对齐问题

貌似只要DrawFont修改过就不会自动居中了
比如 but->DrawFont = CreateTileFont(L"黑体",20,30); //使用黑体,这时候就不会居中了

字符宽度变了~

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66484
QQ
发表于 2011-4-20 22:25:00 | 显示全部楼层

Re:TextButton的文本对齐问题

嗯!这是一个BUG,修改字体后没有重新计算字符宽度。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-5-5 23:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表