关闭

CListView && CListCtrl

标签: reportstringlist网格扩展
1585人阅读 评论(0) 收藏 举报
分类:

//设置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);

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:58945次
    • 积分:835
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:14篇
    • 译文:0篇
    • 评论:7条
    最新评论