本文介绍了如何在CMFCListCtrl中更改defaultt排序箭头?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!



我有一个小问题。



我一直在寻找改变的解决方案在CMFCListCtrl中排序标题的箭头。我在msdn

Hi everyone!

I have small question.

I was looking for solution to change sort arrows of header in CMFCListCtrl. And I found only
post on msdn

CMFCHeaderCtrl::OnDrawSortArrow

上发现只发布了

,仅此而已。但是我不知道如何使用它。

实际上我有这个箭头的图标。



谢谢

and nothing more. But I don't know how to use it.
And actually I have icon for this arrows.

Thank you

推荐答案

// hIconAsc and hIconDes are the HICON values for Ascending and Descending icons
// Set it once
m_imgOrder.Create(16, 16, ILC_MASK, 2, 2);
m_imgOrder.Add(hIconAsc);
m_imgOrder.Add(hIconDes);
GetHeaderCtrl()->SetImageList(&m_imgOrder);





此函数将从图像中绘制自己的图标你创建的列表:



This function will draw your own icons from the Image list you have created:

void CMyListCtrl::DisplayHeaderOrder(int nIndex, BOOL bAsc)
{
  HD_ITEM curItem = {0};
  curItem.mask    = HDI_IMAGE | HDI_FORMAT;
  GetHeaderCtrl()->GetItem(nIndex, &curItem);
  curItem.mask    = HDI_IMAGE | HDI_FORMAT;
  curItem.iImage  = bAsc ? 0 : 1;
  curItem.fmt     = HDF_LEFT | HDF_IMAGE | HDF_STRING|HDF_BITMAP_ON_RIGHT;
  GetHeaderCtrl()->SetItem(nIndex, &curItem);
}


这篇关于如何在CMFCListCtrl中更改defaultt排序箭头?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 21:45