VC/MFC 如何使列表控件(CListCtrl)可编辑

 时间:2026-02-13 23:26:29

1、一、新建一个基于对话框的工程文件,在对话框中添加ListCtrl控件,设置控件属性为报告,如下图:

VC/MFC 如何使列表控件(CListCtrl)可编辑

2、二、在对话框中为列表控件添加变量:如下图:

VC/MFC 如何使列表控件(CListCtrl)可编辑

3、三、在对话框的OnInitDialog初始化函数中添加如下代码(对列表控件进行初始化):

m_lstcoudata.InsertColumn(0,"课程名称",LVCFMT_CENTER,100);

m_lstcoudata.InsertColumn(1,"是否主科",LVCFMT_CENTER,100);

m_lstcoudata.InsertColumn(2,"周课时",LVCFMT_CENTER,100);

m_lstcoudata.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

m_lstcoudata.SetBkColor(RGB(172,199,235));

m_lstcoudata.SetRowHeigt(40);

m_lstcoudata.SetFontHW(15,10);

GRADE *pgrd=CArrangeCourseApp::Adu .GetGrdPointer()->pnext;

for(int n=0;n<10;n++)

  m_lstcoudata.InsertItem(n,"");

 //ect rc;

 m_lstcoudata.GetClientRect(&rc);

 m_lstcoudata.SetColumnWidth(0,rc.Width()/2);

 m_lstcoudata.SetColumnWidth(1,rc.Width()/4);

 m_lstcoudata.SetColumnWidth(2,rc.Width()/4);

4、四、下面我们要在鼠标对列表控件的单击事件中,将需要显示的控件移动到鼠标单击的单元格中。代码如下:

NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;

        CRect rc;

        if(pNMListView->iItem==-1)return;

        m_row=pNMListView->iItem;//m_row为被选中行的行序号(int类型成员变量)

   m_column=pNMListView->iSubItem;//m_column为被选中行的列序号(int类型成员变量)

if(m_column!=2)return;

//if(m_column<0)return;

        UpdateData(TRUE);

   m_lstcoudata.GetSubItemRect(pNMListView->iItem, pNMListView->iSubItem,LVIR_LABEL,rc);//取得子项的矩

  rc.left+=150;

  rc.right+=150;

  rc.bottom+=100;

  m_cmbcnt.ShowWindow(SW_SHOW);

           m_cmbcnt.MoveWindow(&rc);

           m_cmbcnt.SetFocus();

*pResult = 0;

5、五、(注意)要显示的控件和列表控件的ID号必须相连,并且列表ID大于显示控件ID,处理方法为:在对话框中依次按下“CTRL+D”组合键,如图:按照顺序依次点击相应控件重新对控件进行排序。

VC/MFC 如何使列表控件(CListCtrl)可编辑

6、六、编译、调试,弹出窗口如下图:

VC/MFC 如何使列表控件(CListCtrl)可编辑

7、七、点击单元格,弹出要显示的控件,如下图:

VC/MFC 如何使列表控件(CListCtrl)可编辑

  • 看理想软件怎样设置播放器设置
  • markdown编辑器Typora中怎么给文字添加删除线?
  • MyEclipse如何导入本地JDK版本
  • HbuilderX怎么预览HTML页面
  • 利用layui,快速生成页面导航栏菜单
  • 热门搜索
    江西武功山旅游攻略 永安旅游 玉林旅游景点大全 旅游网站系统 井冈山旅游网 武昌旅游 街子古镇旅游攻略 银座旅游 康辉旅行社旅游线路 东莞旅游团