//设置List Control属性
CListCtrl* pListCtrl=(CListCtrl*)(GetDlgItem(IDC_LIST1));
DWORD dwStype=GetWindowLong(pListCtrl->m_hWnd,GWL_STYLE);
dwStype&=~LVS_TYPEMASK;
dwStype|=LVS_REPORT;
SetWindowLong(pListCtrl->m_hWnd,GWL_STYLE,dwStype);
//初始化ListCtrl控制栏(report格式)
CString str;
CHeaderCtrl *pHeaderCtrl = m_ListCtrl.GetHeaderCtrl();
HDITEM hdi;
hdi.mask = HDI_TEXT | HDI_WIDTH | HDI_FORMAT;
hdi.cxy = 100;
hdi.fmt = HDF_STRING | HDF_CENTER;
for (int i=0;i<3;i++)
{
str.Format(TEXT("col %d"),i);
hdi.pszText = str.GetBuffer(0);
pHeaderCtrl->InsertItem(i,&hdi);
}
或者: pListCtrl->InsertColumn(0,"00",LVCFMT_LEFT , 50);
pListCtrl->InsertColumn(1,"11",LVCFMT_CENTER , 50);
注:第一个column属性只能设置为Left,设置为Right与Center均无效
补充:这样可以将第一列设置为Center或Right属性: CString str;
CHeaderCtrl *pHeaderCtrl = m_ListCtrl.GetHeaderCtrl();
HDITEM hdi;
hdi.mask = HDI_TEXT | HDI_WIDTH | HDI_FORMAT;
hdi.fmt = HDF_STRING | HDF_CENTER;
//插入标题栏第一列
hdi.cxy = 100;
str.Format(TEXT("日期"));
hdi.pszText = str.GetBuffer(0);
pHeaderCtrl->InsertItem(0,&hdi);
//插入一列并设置列宽
m_ListCtrl.InsertColumn(2,_T("New Col"));
m_ListCtrl.SetColumnWidth(2,100);
//设置扩展属性
DWORD dw = pListCtrl->GetExStyle();
dw |= LVS_EX_GRIDLINES; //有网格线
dw |= LVS_EX_FULLROWSELECT; //选择整行
dw &= ~LVS_EX_CHECKBOXES; //去掉Check box
pListCtrl->SetExtendedStyle(dw);