游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2960|回复: 8

ID3DXFont计算空格宽度总是返回零问题

[复制链接]

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
发表于 2007-7-21 22:02:00 | 显示全部楼层 |阅读模式
大家有遇到使用ID3DXFont计算空格宽度时总是返零吗?((单个字符时
DrawTextW(nil, PWideChar(Text), Length(Text), @DrawRect, DT_LEFT or
  DT_TOP or DT_NOCLIP or DT_SINGLELINE or DT_CALCRECT , 0);

Text是' a'这样是可以得到空格的宽度,'   '就样总是返回零。
怎么解决这个问题呢?

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
 楼主| 发表于 2007-7-21 22:06:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

似乎总是把尾空格给过滤掉了

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-7-22 18:15:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

这个和用的什么字体有关

计算字串宽度还是用GDI

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
 楼主| 发表于 2007-7-23 18:33:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

看来只好使用gdi计算文本宽度了。

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
 楼主| 发表于 2007-7-23 18:36:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

关键这似乎是bug啊,为何' a'结尾不是空格时能取到空格的宽度。
我现在遇到取不到宽度的字符时就在结尾加个字母,然后用' a' - 'a'的宽度就好省事些

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-7-24 11:35:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

ID3DFont 本来就是直接用gdi

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
 楼主| 发表于 2007-8-4 11:39:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

哎,终于找到比较好的解决办法了看DXUT是用usp10.dll中的API处理的。先模仿之

11

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2008-1-28 15:19:00 | 显示全部楼层

Re: Re:ID3DXFont计算空格宽度总是返回零问题

PVicky: Re:ID3DXFont计算空格宽度总是返回零问题

哎,终于找到比较好的解决办法了看DXUT是用usp10.dll中的API处理的。先模仿之


怎么做的?

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
 楼主| 发表于 2008-2-28 18:12:00 | 显示全部楼层

Re:ID3DXFont计算空格宽度总是返回零问题

看看sdk中的DXUT里的edit控件,就知道了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 06:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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