关于 文本显示的一个弱弱的问题~~~

rulan0312 2006-07-15 07:39:07
我是采用int DrawText(HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UNIT uFormat); 显示文字,为了更好的进行排版,我首先计算了最长的一行的字符数line_max,以及行数,以此来判断lpRect的合适大小。。。
请问:
1、当我计算出了line_max,我怎么得到lpRect的宽度?是不是
line_max×LogFont.lfWidth?LogFont.lfWidth是不是对于不同的字符会不同,比如w和i
2、如果要让所有的字符显示的宽度一样,需要怎样设置?

...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhyytt 2006-07-18
  • 打赏
  • 举报
回复
参考: CSize fontsize;
CString str="XXXX";
fontsize = dc.GetTextExtent(str);
快乐鹦鹉 2006-07-18
  • 打赏
  • 举报
回复
GetTextExtent
rulan0312 2006-07-18
  • 打赏
  • 举报
回复
我试过了,和实际的还是有点差别,MSDN上解释说:Because some devices do not place characters in regular cell arrays—that is, they carry out kerning—the sum of the extents of the characters in a string may not equal the extent of the string
我想是不是我问的问题“LogFont.lfWidth是不是对于不同的字符会不同,比如w和i”,但还是不知道怎么解决好~~

15,976

社区成员

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

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