DrawText 和 TextOut,怪异问题

smneo 2009-02-12 03:28:09
输出一个字符串.大约有20个字符
例如"1234567890...."
用TextOut输出是正常的.
但是DrawText输出的时候会有 12 34 56 78 90..相当于两位中间就有个间距.
DrawText的参数为 DT_CENTER|DT_VCENTER|DT_SINGLELINE..
各位帮忙看看..谢了
...全文
133 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hiiishe 2009-02-12
  • 打赏
  • 举报
回复
极有可能就是字体的问题
逸萌 2009-02-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cnzdgs 的回复:]
字体太小了,有点偏差也是正常的。
[/Quote]
这么小还能看,代码本身没有问题,换大的20
smneo 2009-02-12
  • 打赏
  • 举报
回复
我换到2号的时候也没有出现这个问题的...
我是用来打印的.这个字体打印出来还行..没有过于太小
netlib 2009-02-12
  • 打赏
  • 举报
回复
log1.lfHeight = 3;

够小的哦,这能看到不...,换成16试试
cnzdgs 2009-02-12
  • 打赏
  • 举报
回复
字体太小了,有点偏差也是正常的。
smneo 2009-02-12
  • 打赏
  • 举报
回复
字体
LOGFONT log1;
log1.lfHeight = 3; //add a kind of fond,let height equles 13
log1.lfWidth = 0;
log1.lfEscapement = 0;
log1.lfOrientation = 0;
log1.lfWeight = FW_NORMAL;
log1.lfItalic = 0;
log1.lfUnderline = 0;
log1.lfStrikeOut = 0;
log1.lfCharSet = GB2312_CHARSET;
log1.lfOutPrecision = OUT_STRING_PRECIS;
log1.lfClipPrecision = CLIP_DEFAULT_PRECIS;
log1.lfQuality = DEFAULT_QUALITY;
log1.lfPitchAndFamily = VARIABLE_PITCH|FF_SWISS;
strcpy (log1.lfFaceName,_T("宋体"));


字符串
5326105100000002008110400006-1

TextOut 和DrawText都是用的上面这个字体.



cnzdgs 2009-02-12
  • 打赏
  • 举报
回复
具体显示的字符串是什么?字体如何设置的?
smneo 2009-02-12
  • 打赏
  • 举报
回复
去了问题依然
feilinhe 2009-02-12
  • 打赏
  • 举报
回复
DT_CENTER|DT_VCENTER这两个去掉试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧