DrawText奇葩问题

hurryboylqs 2013-12-02 01:22:04
DrawText需要传递一个矩形区域作为绘制区域参数,但是如果文本超出了区域就会被裁剪掉,我现在想知道那些文字显示不出来,这个怎么获得呢?显示不出来的文字我打算显示到下一页去
...全文
401 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐鹦鹉 2013-12-04
  • 打赏
  • 举报
回复
有这个能力,但未必给你提供这个接口啊。
副组长 2013-12-02
  • 打赏
  • 举报
回复
不处理显示半个字的那就是个排版。
hurryboylqs 2013-12-02
  • 打赏
  • 举报
回复
基本有思路了,就按大版说的用CEdit来排版应该基本能满足要求了。
hurryboylqs 2013-12-02
  • 打赏
  • 举报
回复
DrawText是有参数可以计算它需要的矩形高度的,但是怎么分页换行就好像无能为力
副组长 2013-12-02
  • 打赏
  • 举报
回复
DrawText不自动换行吧?除了有\r\n能换行。 TextOut我记得是不换行的,超出了范围就没了。自己计算位置太费劲了,好像有时不是完整字符还不准。 我通常是两个区域边缘是接着的,比方两个显示器。向两个显示区域同时发送两份,去掉裁减掉的部分看起来是接在一起的。
hurryboylqs 2013-12-02
  • 打赏
  • 举报
回复
引用 8 楼 happyparrot 的回复:
DrawText哪能干这些事情呢。如果有的话,自然应该有相应的参数或者返回值啊
DrawText不是能自动换行吗?我觉得它有这个本事
寒冰雪 2013-12-02
  • 打赏
  • 举报
回复
自己计算下。。
oyljerry 2013-12-02
  • 打赏
  • 举报
回复
自己计算字体宽度以及字符串长度,然后来换行等。或者直接用控件显示
shen_wei 2013-12-02
  • 打赏
  • 举报
回复
判断字体宽带,计算CRect
快乐鹦鹉 2013-12-02
  • 打赏
  • 举报
回复
DrawText哪能干这些事情呢。如果有的话,自然应该有相应的参数或者返回值啊
泥鳅不是鱼 2013-12-02
  • 打赏
  • 举报
回复
这个貌似还真没什么好的办法,GetTextExtent获取大小自己算吧 也没有多麻烦的...
浩南_哥 2013-12-02
  • 打赏
  • 举报
回复
DrawText返回值是正文的高度。 DT_CALCRECT:这个参数比较重要,可以使DrawText函数计算出输出文本的尺寸。如果输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。如果输出文本只有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符。 出现上述任何一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本。 右边界会被DrawText改变,在根据你整个文字的宽度来计算,就能知道有哪些文字没有显示出来。
hurryboylqs 2013-12-02
  • 打赏
  • 举报
回复
我不想一行或者一个一个字符的处理,那样貌似太麻烦了,有没有较方便的?
hurryboylqs 2013-12-02
  • 打赏
  • 举报
回复
你意思是说要借助CEdit来排版吗?难道DrawText本身不能获取到未显示完的文字?
快乐鹦鹉 2013-12-02
  • 打赏
  • 举报
回复
这个很难算吗?以前做排版软件,是需要多个文本窗口进行续排的,就像我们看报纸的时候有从哪个版面转到哪个版面一样.逐行判断就行了.回车换行自然就是加一行了.根据字的高度,你就知道你的矩形区域能放几行文字了.排版比这复杂多了,还有行宽等等很多判断内容的.
hurryboylqs 2013-12-02
  • 打赏
  • 举报
回复
引用 1 楼 happyparrot 的回复:
你是指指定的区域内,显示不下你所有的文字? 你可以从DC获得当前字体的高和宽.然后判断一下你指定的区域能显示多少字
文字会自动换行的,就是超出宽度的会自动折到下一行显示,这个怎么算呢?还有文字里的\r\n也 自动换行
快乐鹦鹉 2013-12-02
  • 打赏
  • 举报
回复
你是指指定的区域内,显示不下你所有的文字? 你可以从DC获得当前字体的高和宽.然后判断一下你指定的区域能显示多少字

15,979

社区成员

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

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