我发现了一个问题。我无法更改CMFCListCtrl
标头中的默认排序箭头。
我在msdn上找到了有关CMFCHeaderCtrl::OnDrawSortArrow
的帖子,但没有帮助,因为那里没有示例。
我尝试了一种简单的方法,如何通过CListCtrl
和CimageList
将箭头设置为HDITEM
标头,但是这些箭头仅设置在左侧,因为右侧已经具有默认的箭头。
Google对于如何更改CMFCListCTrl
上的默认箭头的解决方案一无所获。
请帮我)
谢谢!
PS。请注意,这不是CMFCListCtrl
,而我可以很容易地添加箭头。
最佳答案
因为CMFCHeaderCtrl是CMFCListCtrl内部的成员,所以您不能覆盖它。
尝试使用您自己的CMFCHeaderCtrl类派生自己的CMFCListCtrl类,该类将覆盖OnDrawSortHeader OnDrawSortArrow。
覆盖CMFCListCtrl :: InitHeader和子类到您的标头控件类。
如果使用CListCtrl从头开始表单,则可以直接将标头控件子类化。 CMFCListCtrl中的完整内容并不那么复杂,并且很容易实现。取决于您需要的功能。