亲测可用,如果出现问题,请留言


所谓List Contro l,就是用来做LIist的,至于编辑,估计MS也没提供这个功能。比较诡异的是在给List Control 设置属性的时候居然看到Edit Label ,处于好奇点了点,发现只能修改第一列,改了之后失去焦点又变 回原来的文本。没有深入试下去,我估计可以修改第一列的数据。
其实要实现编辑功能,只要做一个Edit Control 就可以了,当需要编辑的时候,把这个Edit Control 动态显示到需要显示的地方。看效果图:
双击输入框:

输入完成,点击空白处:

列表的所选属性如下:

另外需要为控件绑定一个控件变量,此处控件变量名为m_List。相添加完成后,可以看到在头文件中自动添加了如下代码。

 CListCtrl m_List;

另外,在CPP文件中也会自动添加部分代码,此处就不在做演示工作了。


然后,添加响应List Control的双击事件:
注意,在相关的头文件中需要先添加如下成员变量:

 CEdit editItem;int hitRow;int hitCol;
void CDlgCourseInfoModify::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);// TODO: 在此添加控件通知处理程序代码*pResult = 0;LVHITTESTINFO info;info.pt = pNMItemActivate->ptAction;if (m_List.SubItemHitTest(&info) != -1){hitRow = info.iItem;hitCol = info.iSubItem;if (editItem.m_hWnd == NULL){RECT rect;rect.left = 3;rect.top = 3;rect.bottom = 3;rect.right = 3;editItem.Create(WS_CHILD | ES_LEFT | WS_BORDER | ES_AUTOHSCROLL | ES_WANTRETURN | ES_MULTILINE, rect, this, 101);editItem.SetFont(this->GetFont(), FALSE);}CRect rect;m_List.GetSubItemRect(info.iItem, info.iSubItem, LVIR_BOUNDS, rect);rect.top += 12;rect.left += 13;rect.right += 13;rect.bottom += 12;editItem.SetWindowText(m_List.GetItemText(info.iItem, info.iSubItem));editItem.MoveWindow(&rect, TRUE);editItem.ShowWindow(TRUE);editItem.SetFocus();}
}

在这个代码里面先得到鼠标双击的位置,判断是否击中了单元格,击中就调用Edit Control ,大小就是选中的单元 格,至于为什么rect要+12啊+13什么的,那是因为他出来的输入框跟单元格没对齐,导致很丑,这里可以根据自己的界面进行调整。最后再给这个Edit Control 一 个焦点,就可以直接输入了。
另外,为了能使输入之后有所反应,我们还要做一个鼠标的单击事件响应函数。

void CDlgCourseInfoModify::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);// TODO: 在此添加控件通知处理程序代码*pResult = 0;   if (editItem.m_hWnd != NULL){editItem.ShowWindow(0);if (hitRow != -1){CString text;editItem.GetWindowText(text);m_List.SetItemText(hitRow, hitCol, text);}}hitCol = hitRow = -1;
}

MFC 的List Control控件实现可编辑相关推荐

  1. MFC中Tab Control控件的使用

    一.创建TabControl控件主要分为以下步骤 1.1将TabControl控件拖入基本对话框中,并且创建一个控件变量m_tab 1.2创建两个子对话框,ID分别改为IDD_DIALOG_PAGE1 ...

  2. (MFC)list control控件 得到某行某列的字符串内容

    转载 百度知道 点击打开链接

  3. MFC中使用TAB Control控件

    2019独角兽企业重金招聘Python工程师标准>>> MFC中使用TAB Control控件 MFC中使用TAB Control控件(转) 假如我现在有个SDI程序,View是Fo ...

  4. 【MFC】动态加载Picture Control控件中的图片

    [MFC]动态加载Picture Control控件中的图片 前言 方法1:CBrush 方法2:SetBitmap 参考链接 方法3:重写MyPictureControl 前言 在MFC窗体中,我们 ...

  5. C++ MFC picture control控件按比例显示任意图片文件(jpg、bmp等)

    前段时间做大一专业实训,用MFC做一个图片查看类程序,对于从来没有学过C++的我们来说显示一张图片就是一件很难的事情了,作为小组里唯一一个MFC设计者,我从网上有很多关于MFC图片控件显示的文章,但大 ...

  6. MFC 对话框中的picture control 控件显示图片

    MFC读取图片一般使用自定义的DIB文件.DIB文件集中了处理图片的API函数,这样可以方便我们的图像操作. DIB文件下载路径:DIB文件下载 MFC显示图片有几种方法: 1.在运行界面上选择 文件 ...

  7. MFC动态改变图形控件picture control位置

    前言 有时候用pictrue控件显示图片的时候,如果设置图片大小适应控件大小可能不是很合理,但如果不设置,控件可能会便宜你摆放的原位置,这时候需要动态设置图形控件位置 正文 void CDlog4:: ...

  8. MFC-Tab Control控件使用

    在MFC当中使用Tab Control控件切换不同的界面,使用起来会复杂一些,至少是比Qt中的Tab Widget复杂得多.我接下来会以一个MFC对话框应用程序为例子,说明Tab Control控件的 ...

  9. 在VC++中使用Tab Control控件

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 系统环境 ...

  10. Tab Control控件的详细使用

    1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置I ...

最新文章

  1. 秒懂晶振以及晶振电路 让你从“吃瓜群众”到“技术大牛”
  2. MYSQL 开启root远程登录权限
  3. Spring框架的事务管理及应用
  4. 如何使用Java与Mysql进行数据交互
  5. Junit单元测试学习笔记一
  6. HDU多校3 - 6975 Forgiving Matching(多项式匹配字符串)
  7. WPF绑定资源文件错误(error in binding resource string with a view in wpf)
  8. LeetCode 2166. 设计位集(Bitset)
  9. excel表格从某个标志计算机,让Excel也玩多标签 多个图表一个窗口 -电脑资料
  10. 【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)
  11. 无聊特意去拍月亮。呵呵
  12. 《Node应用程序构建——使用MongoDB和Backbone》一2.3 事件
  13. OpenCV实现摄像机标定和像素转换,surf寻找特征点,FLANN匹配算子进行匹配
  14. windows 8授权概览
  15. Repast Simphony 模型发布及使用
  16. 2021 常用的 7 款 MySQL 客户端工具
  17. 如何在CAD中实现影像与矢量叠加套合(七参数法)
  18. D2 日报 2019年3月20日
  19. 【云和恩墨】内外兼修:Oracle ACED熊军谈Oracle学习
  20. S曲线C语言实现,利用robomodule+STM32F429+直流伺服电机进行简单验证

热门文章

  1. Python学习3-层次聚类
  2. windows设置路径Path
  3. 五年产品经理的转正述职报告(附PPT下载)
  4. 折扇同构图形_独具一格!同构图形设计技法
  5. 当铺掌柜自制Typecho主题Pvcard主题
  6. numpy的随机抽样
  7. 83行代码通关攻略|据说看的人都过了
  8. 李广难封–有感于团队建设
  9. tp5 验证码 验证不正确 (跨域问题)
  10. 支教日记软件测试,烟酒行销售实习日志(74页)-原创力文档