c++ - 更改 CMFCListCtrl 的默认排序箭头

标签 c++ mfc

我发现了一个问题。我无法更改 CMFCListCtrl header 中的默认排序箭头。 我在 msdn 上找到了关于 CMFCHeaderCtrl::OnDrawSortArrow 的帖子,但它没有帮助,因为那里没有示例。

我尝试了简单的方法,如何通过 CimageListHDITEM 将箭头设置为 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/

相关文章:

c++ - std::enable_if 有条件地编译成员函数

c++ - 使用MAP文件 VS2010 MFC

c++ - C预处理器直接扩展

c++ - 查找 C++ 项目中有多少个 goto

c++ - 如何从文件中读取文本行并将它们放入数组中

visual-c++ - 如何在 mfc 中更改静态文本控件的背景颜色(当按下按钮或在计时器中时)?

c++ - 将 CString 用于树节点时发生内存泄漏

c++ - 具有引用计数的共享智能指针实现

c++ - 如何验证 Internet 打印协议(protocol) (IPP)?

c++ - 在 Visual C++ 2005 中开发的 Visual C++ 项目 - 在 Visual C++ 2010 中,打开菜单时调试断言失败,但 Release模式有效,如何解决?