CListCtrl为什么只能显示256个字符长度???

pengys 2010-08-04 01:24:54
CListCtrl为什么只能显示256个字符长度???
...全文
156 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bulijun1987 2010-08-04
学习了哈!
回复
pengys 2010-08-04
楼上的几个哥们,有没有自绘的例子啊.多谢了!
回复
zxq80 2010-08-04
256以上需要使用Edit
回复
muzizongheng 2010-08-04
必须自绘 , 响应nm_customdraw消息。
回复
luodx1021 2010-08-04
为了验证你所说的问题,我刚刚用VS2003创建了一个对话框程序,发现确实有这个2问题,2超过260个字符就截断了,但是,我获取数据的时候,数据是可以全部取出来,说明数据没有丢失,只是没有显示而已,看样子要解决这个问题,得通过自绘来实现,可以将 CListCtrl 设置 LVS_OWNERDRAWFIXED 风格,然后在DrawItem(LPDRAWITEMSTRUCT lpDIS) 函数里重绘每一条的数据,这样就可以全部显示了。
回复
gameslq 2010-08-04
msdn上有说明,最大只能显示260chars
pszText
LPTSTR
If the structure specifies item attributes, pszText is a pointer to a null-terminated string containing the item text. When responding to an LVN_GETDISPINFO notification, be sure that this pointer remains valid until after the next notification has been received.


If the structure receives item attributes, pszText is a pointer to a buffer that receives the item text. Note that although the list-view control allows any length string to be stored as item text, only the first 260 TCHARs are displayed.


If the value of pszText is LPSTR_TEXTCALLBACK, the item is a callback item. If the callback text changes, you must explicitly set pszText to LPSTR_TEXTCALLBACK and notify the list-view control of the change by sending an LVM_SETITEM or LVM_SETITEMTEXT message.


Do not set pszText to LPSTR_TEXTCALLBACK if the list-view control has the LVS_SORTASCENDING or LVS_SORTDESCENDING style.

这个有个解决例子,看看是否适合你
http://bbs.eyuyan.com/read.php?tid=169843&page=1
回复
pengys 2010-08-04
有人知道吗?帮帮忙呀?listctrl上显示的文字被截断了,不知道为什么?
回复
luodx1021 2010-08-04
不可能吧
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告