CListCtrl 自绘相关
自适应列宽
int CMyListCtrl::GetColumnCount()
{
CMyHead * pHeaderCtrl = (CMyHead *)GetHeaderCtrl();
if (pHeaderCtrl)
{
return pHeaderCtrl->GetItemCount();
}
else
{
return -1;
}
}
void CMyListCtrl::AutoColWidth()
{
SetRedraw(FALSE);
int nCol = GetColumnCount();
for (int i = 0; i < nCol; i++)
{
SetColumnWidth(i, LVSCW_AUTOSIZE);
int nColumnWidth = GetColumnWidth(i);
SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER);
int nHeaderWidth = GetColumnWidth(i);
if (i < nCol - 1)
{
SetColumnWidth(i, 16 + max(nColumnWidth, nHeaderWidth));
}
}
SetRedraw(TRUE);
}
SetColumnWidth(GetHeaderCtrl()->GetItemCount()-1, LVSCW_AUTOSIZE_USEHEADER);