标题:C++ MFC LISTBOX控件 字符串自动换行问题
只看楼主
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
结帖率:66.67%
已结贴  问题点数:100 回复次数:3 
C++ MFC LISTBOX控件 字符串自动换行问题
原型:在对话框控件中,有一个LISTBOX控件,一列多行格式,或者两列多行也可以,输出内容格式为:  XXXX-XX-XX XX-XX-XX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
例如:2019-02.26 21:00:52  用户Mary远程登录身份验证成功;

由于该字符串有时候会比较长,所以需要自动换行,最好能够适应窗体,如不能适应窗体,指定长度也可以,本人曾试过用数组提前分割,然后调用库函数写入控件,并利用定时器实时刷新控件显示,但由于字符串中含有字母文字组合,所以分割算法末尾会出现将一个汉字分割的情况,有没有能够实现自动换行的库函数,不太想弄分割的算法;

如果有实现过LISTBOX控件自动换行的大佬,麻烦告知需要调用的函数或需要修改的控件属性,代码我可以自己去写,相关原型函数,也可以自己查找阅读;谢谢!
搜索更多相关主题的帖子: LISTBOX 控件 字符串 自动换行 分割 
2019-02-26 21:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:100 
LISTBOX 为什么需要换行?

“分割算法末尾会出现将一个汉字分割的情况” ------ 估计你用的是 multibyte character,那你可以用 isleadbyte 判断其是不是一个汉字的地位
2019-02-27 08:32
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
得分:0 
回复 2楼 rjsp
多谢,那如果我拖动鼠标调整对话框的大小,如何实现一行的输出长度适应显示有效区域的大小来自动实时调节换行位置,有没有可以实现的函数可供调用或参考

[此贴子已经被作者于2019-3-19 18:11编辑过]


对待编程,要像对待情人一样
2019-03-19 18:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
如何实现一行的输出长度适应显示有效区域的大小

你这里的“一行”是什么控件的,Edit Box?
2019-03-20 09:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493247-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.233873 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved