关于文字绘制的DT_PATH_ELLIPSIS问题

凌乱哥 2018-09-30 12:09:23
界面上显示比较长的文件名时,希望能实现保留文件后缀的基础上再添加去尾处理,比如
IMG1234567890.jpg 要显示成 IMG12345....jpg

但是用代码
dc.DrawText(_T("IMG1234567890.jpg"), CRect(800,200,900,220), DT_LEFT|DT_PATH_ELLIPSIS);

DT_PATH_ELLIPSIS是这样的:

DT_END_ELLIPSIS是这样的:

那么要如何搭配参数才能实现IMG12345....jpg呢?
用字符串处理分割后缀和文件名然后分2次DrawText也是可以的,只是麻烦一点,想问问有没有从DrawText的参数角度解决的办法
...全文
330 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-10-07
  • 打赏
  • 举报
回复
DT_CALCRECT Determines the width and height of the rectangle. If there are multiple lines of text, DrawText uses the width of the rectangle pointed to by the lpRect parameter and extends the base of the rectangle to bound the last line of text. If there is only one line of text, DrawText modifies the right side of the rectangle so that it bounds the last character in the line. In either case, DrawText returns the height of the formatted text but does not draw the text.
worldy 2018-10-06
  • 打赏
  • 举报
回复
引用 楼主 dingxz105090 的回复:
界面上显示比较长的文件名时,希望能实现保留文件后缀的基础上再添加去尾处理,比如
IMG1234567890.jpg 要显示成 IMG12345....jpg

但是用代码
dc.DrawText(_T("IMG1234567890.jpg"), CRect(800,200,900,220), DT_LEFT|DT_PATH_ELLIPSIS);

DT_PATH_ELLIPSIS是这样的:

DT_END_ELLIPSIS是这样的:

那么要如何搭配参数才能实现IMG12345....jpg呢?
用字符串处理分割后缀和文件名然后分2次DrawText也是可以的,只是麻烦一点,想问问有没有从DrawText的参数角度解决的办法


要分两段处理,第一段使用DrawText,jpg使用TextOut,但是貌似不太好计算位置
schlafenhamster 2018-10-02
  • 打赏
  • 举报
回复
加上 DT_WORD_ELLIPSIS ?
xiaohuh421 2018-09-30
  • 打赏
  • 举报
回复
这种情况, 只能是自己手动处理了. DrawText不支持这种定制化的处理. 当然, 可以有点取巧的方式, 你自己判断一下是否可能产生省略号. 如果要产生, 则把文件后缀拆了来, 偏移坐标,再对后缀做一次DrawText. 相当于拼接吧.
凌乱哥 2018-09-30
  • 打赏
  • 举报
回复
引用 3 楼 cvbtvbwu 的回复:
“用字符串处理分割后缀和文件名然后分2次DrawText也是可以的,只是麻烦一点”,为啥不预先处理一下绘制的文本,将IMG1234567890.jpg变成 IMG12345....jpg,直接绘制IMG12345....jpg

因为并不是所有的都要处理,只是在指定区域内无法绘制完整的时候(也就是文件名比较长的时候)才需要加...的处理
叶恭介叶恭介 2018-09-30
  • 打赏
  • 举报
回复
“用字符串处理分割后缀和文件名然后分2次DrawText也是可以的,只是麻烦一点”,为啥不预先处理一下绘制的文本,将IMG1234567890.jpg变成 IMG12345....jpg,直接绘制IMG12345....jpg
zgl7903 2018-09-30
  • 打赏
  • 举报
回复
这个应该需要自己处理, DrawText又不知道你是要输出路径
赵4老师 2018-09-30
  • 打赏
  • 举报
回复
IMG12345....jpg不如IMG12345.jpg

15,979

社区成员

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

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