createfont函数中参数设置问题

wlp555ren 2007-11-13 01:45:17
用户输入字体的大小:如30(表示字体所占像素)
然后我调用CFont类的createfont方法:
hsize = ::MulDiv(isize,::GetDeviceCaps(pDC-> m_hDC,LOGPIXELSY),72); //换算逻辑高度
newfont.CreateFont( hsize, 0, 0, 0, FW_NORMAL, 0, 0, 0, GB2312_CHARSET, OUT_STROKE_PRECIS, CLIP_STROKE_PRECIS, DRAFT_QUALITY, VARIABLE_PITCH ¦ FF_SWISS, _T( "Arial "));
最后TEXTOUT一个汉字.
结果打印出来的汉字,所占的像素并没有30个,到底是怎么回事?请问有什么方法调整.
...全文
532 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
loops 2007-11-15
  • 打赏
  • 举报
回复
我的完整源代码很长的。我就是用上述的方法实现对一个scroll view里面的字体的放大和缩小的。
wlp555ren 2007-11-14
  • 打赏
  • 举报
回复
我试了一下,不行.
能不能给出完整的源代码.
loops 2007-11-13
  • 打赏
  • 举报
回复
你看看我创建的字体符合你的要求吗?我用的字体好像比你的Arial更加灵活一点。

CFont font;
LOGFONT logFont;
font.GetLogFont(&logFont);
logFont.lfHeight=30;
font.CreateFontIndirect(&logFont);
wlp555ren 2007-11-13
  • 打赏
  • 举报
回复
斑竹||各位高手,帮帮忙啊.小弟很急想知道答案.

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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