CTreeCtrl添加TVS_CHECKBOXES后,横向滚动条显示不正常

时间:2023-02-07 16:20:00
我创建了一个TreeCtrl,在其中添加CheckBox属性,同时,不添加TVS_NOHSCROLL属性,此时,我得到的树控件应该是一个带CheckBox,然后有横向滚动条的控件。当树控件中的文字被边框覆盖时,横向滚动条会显示,并且大小适宜。但是,目前我遇到的情况是如果我添加TVS_CHECKBOX属性,下面的横向滚动条会始终存在,并且滚动范围超级的大
CTreeCtrl添加TVS_CHECKBOXES后,横向滚动条显示不正常
而将TVS_CHECKBOXES这个属性去掉号,则滚动条可以以正常的滚动范围显示出来。。。这个现象有人能帮忙解决么?

5 个解决方案

#1


自己顶,有木有高手能帮帮我?很着急

#2


我用treectrl一直是这个样子的。。。。。。。。

#3


肯定是你属性设置错误了!!
TVS_HASBUTTONS | TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_CHECKBOXES | TVS_FULLROWSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP

#4


TVS_CHECKBOXES通过SetWindowsLong函数单独设置,问题得到解决。

#5


我也遇到过这种,你在刷新的时候或初始化之前,将他的所有元素先删除掉水平滚动条就会恢复正常
m_ctrlTree.DeleteAllItems();

#1


自己顶,有木有高手能帮帮我?很着急

#2


我用treectrl一直是这个样子的。。。。。。。。

#3


肯定是你属性设置错误了!!
TVS_HASBUTTONS | TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_CHECKBOXES | TVS_FULLROWSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP

#4


TVS_CHECKBOXES通过SetWindowsLong函数单独设置,问题得到解决。

#5


我也遇到过这种,你在刷新的时候或初始化之前,将他的所有元素先删除掉水平滚动条就会恢复正常
m_ctrlTree.DeleteAllItems();