在MDI子窗口中实现表格形式的列表,每行两列,第二列是组合框样式
第一列根据第二列的变动改变字符,怎么想也想不到用什么方法,太菜了。初学请高手指教!
最好能给出代码示例,本人感激万分!

解决方案 »

  1.   

    假设m_List是列表视图,m_cbo是组合框,那么:
    m_cbo.SetCurSel(1);
    设置组合框第二项选中
    m_List.GetListCtrl().GetItemText(2,1);
    取出第三行,第二列的文本
      

  2.   

    不用代码来创建,只要在创建MDI程序的最后一步选择视图类型为CListView
      

  3.   

    以下是初始化列表视图方法:
    HWND hwnd= GetListCtrl().GetSafeHwnd();
    SetWindowLong(hwnd,GWL_STYLE,WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_SORTDESCENDING|LVS_ALIGNTOP|LVS_SHOWSELALWAYS|LVS_SHAREIMAGELISTS);//将视图设置成报表视图
    image.Create(16,16,ILC_MASK|ILC_COLOR32,5,5);
    image.Add(AfxGetApp()->LoadIcon(IDR_ListDocTYPE));
    image.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
    CBitmap bitmap1,bitmap2,bitmap3;
    bitmap1.LoadBitmap(IDB_BITMAP1);
    bitmap2.LoadBitmap(IDB_BITMAP2);
    bitmap3.LoadBitmap(IDB_BITMAP3);
    image.Add(&bitmap1,RGB(0,0,0));
    image.Add(&bitmap2,RGB(0,0,0));
    image.Add(&bitmap3,RGB(0,0,0));
    GetListCtrl().SetImageList(&image,LVSIL_SMALL);//把图像列表添加入视图中
    LVCOLUMN col1;
    col1.mask=LVCF_ORDER|LVCF_FMT|LVCF_IMAGE|LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
    col1.iOrder=0;
    col1.iImage=0;
    col1.fmt=LVCFMT_IMAGE|LVCFMT_RIGHT;
    col1.cx=150;
    col1.iSubItem=1;
    col1.pszText=_T("姓名");
    col1.cchTextMax=4; LVCOLUMN col2;
    col2.mask=LVCF_ORDER|LVCF_FMT|LVCF_IMAGE|LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
    col2.iOrder=1;
    col2.iImage=1;
    col2.fmt=LVCFMT_LEFT|LVCFMT_BITMAP_ON_RIGHT|LVCFMT_COL_HAS_IMAGES;
    col2.cx=120;
    col2.iSubItem=2;
    col2.pszText=_T("所在班级");
    col2.cchTextMax=8; LVCOLUMN col3;
    col3.mask=LVCF_ORDER|LVCF_FMT|LVCF_IMAGE|LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
    col3.iOrder=2;
    col3.iImage=2;
    col3.fmt=LVCFMT_LEFT|LVCFMT_BITMAP_ON_RIGHT|LVCFMT_COL_HAS_IMAGES;
    col3.cx=200;
    col3.iSubItem=3;
    col3.pszText=_T("学号");
    col3.cchTextMax=4; LVCOLUMN col4;
    col4.mask=LVCF_ORDER|LVCF_FMT|LVCF_IMAGE|LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
    col4.iOrder=3;
    col4.iImage=3;
    col4.fmt=LVCFMT_LEFT|LVCFMT_BITMAP_ON_RIGHT|LVCFMT_COL_HAS_IMAGES;
    col4.cx=150;
    col4.iSubItem=4;
    col4.pszText=_T("年龄");
    col4.cchTextMax=4; GetListCtrl().InsertColumn(0,&col1);//添加四个列
    GetListCtrl().InsertColumn(1,&col2);
    GetListCtrl().InsertColumn(2,&col3);
    GetListCtrl().InsertColumn(3,&col4); LVITEM item1;
    item1.mask=LVIF_PARAM|LVIF_INDENT|LVIF_IMAGE|LVIF_STATE|LVIF_TEXT;
    item1.cchTextMax=10;
    item1.iSubItem=2;
    item1.iIndent=1;
    item1.iImage=0;
    item1.pszText=_T("My life for this");
    item1.iItem=0;   //添加一项,第一列的标题是“My life for this” //GetListCtrl().InsertItem(&item1);
    GetListCtrl().InsertItem(0,_T("our fortain"));
    GetListCtrl().InsertItem(1,_T("perple deading"),1);