经测试发现,我们PC程序在win10系统中运行时,个别窗口中显示文字的控件,在文字显示不下时并没有显示“...”省略号,但在win7系统是会显示省略号的。
我们PC程序的UI界面库使用的是duilib,控件文字的绘制调用的是系统API函数DrawText,已经给出问题的控件设置了DT_END_ELLIPSIS,但在win10系统中文字显示不下时还是没有显示省略号,在win7系统中则会显示省略号,这个有点奇怪,不知道这是不是win10系统的bug?
后来我们在CodeProject上搜到了一篇可以参考的文章:

在Win10系统中,使用duilib库和DrawText API进行文字绘制时,遇到设置DT_END_ELLIPSIS后未显示省略号的问题。该问题在Win7系统上不存在。通过参考CodeProject上的文章,修改了duilib源码,实现了手动添加省略号的方法,即当文字过长时,动态去除末尾字符并添加省略号,确保在控件宽度内能显示省略号字符串。
订阅专栏 解锁全文
9483

被折叠的 条评论
为什么被折叠?



