我发现了一个问题。我无法更改 CMFCListCtrl
header 中的默认排序箭头。
我在 msdn 上找到了关于 CMFCHeaderCtrl::OnDrawSortArrow
的帖子,但它没有帮助,因为那里没有示例。
我尝试了简单的方法,如何通过 CimageList
和 HDITEM
将箭头设置为 CListCtrl
header ,但这些箭头仅设置为左侧,因为右侧边已经有箭头默认值。
Google 没有解决如何更改 CMFCListCTrl
上的默认箭头的解决方案。
请帮帮我)
谢谢!
附言。请注意,这是 CMFCListCtrl
而不是 CListCtrl
,我可以在其中非常轻松地添加箭头。
最佳答案
因为 CMFCHeaderCtrl 是 CMFCListCtrl 中的一个成员,所以你不能覆盖它。
尝试使用您自己的 CMFCHeaderCtrl 类派生您自己的 CMFCListCtrl 类,该类覆盖 OnDrawSortHeader OnDrawSortArrow。
覆盖 CMFCListCtrl::InitHeader 和子类到您的 header 控件类。
如果您从头开始使用 CListCtrl,您可以直接对标题控件进行子类化。 CMFCListCtrl 中的完整内容并不那么复杂且易于重新实现。取决于您需要什么功能。
关于c++ - 更改 CMFCListCtrl 的默认排序箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19682173/