rtedColumns[i], ssEachItem );
SetItemSortState( m_aCombinedSortedColumns[i] , (SORT_STATE)!ssEachItem );
}
}
}
else
{
m_ctlHeaderCtrl.RemoveAllSortImages();
EmptyArray(m_aCombinedSortedColumns);
m_aCombinedSortedColumns[ 0 ] = iSubItem;
SORT_STATE ssEachItem = GetItemSortState( iSubItem );
CSortClass csc(&rListCtrl, iSubItem, IsColumnNumeric( iSubItem ) );
csc.Sort( ssEachItem );
m_ctlHeaderCtrl.SetSortImage( iSubItem, ssEachItem );
SetItemSortState( iSubItem , (SORT_STATE)!ssEachItem );
}
m_bSorting = false;
}
/*
My version of InsertColumn that will automatically load the last column
width from the registry.
*/
int CMultiColumnSortListView::InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
{
CListCtrl &rListCtrl = GetListCtrl();
GetListCtrl().InsertColumn( nCol, lpszColumnHeading, nFormat, nWidth, nSubItem );
SetColumnWidth( nCol );
return 1;
}
/*
Utility function to size columns based on its data.
written by Roger Onslow
*/
void CMultiColumnSortListView::AutoSizeColumn( int iColumn )
{
CListCtrl &rListCtrl = GetListCtrl();
rListCtrl.SetRedraw(false);
rListCtrl.SetColumnWidth(iColumn,LVSCW_AUTOSIZE);
int wc1 = rListCtrl.GetColumnWidth( iColumn );
rListCtrl.SetColumnWidth(iColumn,LVSCW_AUTOSIZE_USEHEADER);
int wc2 = rListCtrl.GetColumnWidth( iColumn );
int wc = max(MINCOLWIDTH,max( wc1,wc2 ));
if( wc > MAXCOLWIDTH )
wc = MAXCOL
上一篇:
MULTICOLUMNCOMBOBOX.CPP
下一篇:
那些令你为之触动的好句子,感慨万分