CreateSortBitmaps();
pT->CreateSortBitmaps();
	void SetSortColumn(int iCol)	{		T* pT = static_cast<T*>(this);		ATLASSERT(::IsWindow(pT->m_hWnd));		CHeaderCtrl header = pT->GetHeader();		ATLASSERT(header.m_hWnd != NULL);		ATLASSERT(iCol >= -1 && iCol < m_arrColSortType.GetSize());		int iOldSortCol = m_iSortColumn;		m_iSortColumn = iCol;		if(m_bCommCtrl6)		{#ifndef HDF_SORTUP			const int HDF_SORTUP = 0x0400;	#endif //HDF_SORTUP#ifndef HDF_SORTDOWN			const int HDF_SORTDOWN = 0x0200;	#endif //HDF_SORTDOWN			const int nMask = HDF_SORTUP | HDF_SORTDOWN;			HDITEM hditem = { HDI_FORMAT };			if(iOldSortCol != iCol && iOldSortCol >= 0 && header.GetItem(iOldSortCol, &hditem))			{				hditem.fmt &= ~nMask;				header.SetItem(iOldSortCol, &hditem);			}			if(iCol >= 0 && header.GetItem(iCol, &hditem))			{				hditem.fmt &= ~nMask;				hditem.fmt |= m_bSortDescending ? HDF_SORTDOWN : HDF_SORTUP;				header.SetItem(iCol, &hditem);			}			return;		}		if(m_bmSort[m_iSortUp].IsNull())			CreateSortBitmaps();		// restore previous sort column's bitmap, if any, and format		HDITEM hditem = { HDI_BITMAP | HDI_FORMAT };		if(iOldSortCol != iCol && iOldSortCol >= 0)		{			hditem.hbm = m_hbmOldSortCol;			hditem.fmt = m_fmtOldSortCol;			header.SetItem(iOldSortCol, &hditem);		}		// save new sort column's bitmap and format, and add our sort bitmap		if(iCol >= 0 && header.GetItem(iCol, &hditem))		{			if(iOldSortCol != iCol)			{				m_fmtOldSortCol = hditem.fmt;				m_hbmOldSortCol = hditem.hbm;			}			hditem.fmt &= ~HDF_IMAGE;			hditem.fmt |= HDF_BITMAP | HDF_BITMAP_ON_RIGHT;			int i = m_bSortDescending ? m_iSortDown : m_iSortUp;			hditem.hbm = m_bmSort[i];			header.SetItem(iCol, &hditem);		}	}