前面有学习MFC比较零乱,利用假期好好恶补一下,接下来按照在网易公开课上吕鑫老师的MFC的教程来学习MFC的开发。

第一个学习的是员工管理系统,先把实现好的窗口贴上来。

主要的功能:添加(员工的工号,姓名,工资),选中删除的员工,修改选中的员工。

首先是新建MFC应用程序然后新建DLG,名字改为:员工管理系统

然后添加工具箱里面的编辑控件和静态控件,分别修改名字和ID,名字改为工号,姓名,工资;编辑框ID修改为IDC_NUMB、IDC_NAME、IDC_SALA.

接着添加List控件,不是List Box控件,在List控件添加后记住一定要修改view为report,不然后面添加了列名不会显示出列名的。

这些都完成之后我们接下来就增加按钮:添加、删除、修改,分别修改ID为IDC_ADD、IDC_DEL、IDC_MOD。

接下来这几个功能键怎么实现添加员工到list中呢?

第一步,要获取List控件的ID,然后在控件中添加列名:工号,姓名,工资。

BOOL CFirstMFCDlg::OnInitDialog()
{CDialogEx::OnInitDialog();CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);pList->InsertColumn(0, "工号", 0, 120);pList->InsertColumn(1, "姓名", 0, 160);pList->InsertColumn(2, "工资(万元)", 0, 180);

第二步,设置添加按钮的函数作用。

void CFirstMFCDlg::OnBnClickedAdd()
{CString str;this->GetDlgItemText(IDC_NUMB, str);CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);int nCount = pList->GetItemCount();//从尾部插入pList->InsertItem(nCount,str);GetDlgItemText(IDC_NAME, str);pList->SetItemText(nCount,1, str);GetDlgItemText(IDC_SALA, str);pList->SetItemText(nCount,2, str);
}

第三步,设置删除按钮的功能。

void CFirstMFCDlg::OnBnClickedDel()
{CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);//int nSel = pList->GetSelectionMark();//基于虚线选中POSITION pos = pList->GetFirstSelectedItemPosition();//可以选中多行,并且是蓝色选中int nSel= pList->GetNextSelectedItem(pos);if (nSel<0){AfxMessageBox("请先选中一行再进行删除!");return;}if (IDYES == AfxMessageBox("确认删除选中的数据么?", MB_YESNO))pList->DeleteItem(nSel);
}

第四步,设置修改按钮的功能。

void CFirstMFCDlg::OnBnClickedMod()
{CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);//int nSel = pList->GetSelectionMark();//基于虚线选中POSITION pos = pList->GetFirstSelectedItemPosition();//可以选中多行,并且是蓝色选中int nSel = pList->GetNextSelectedItem(pos);if (nSel < 0){AfxMessageBox("请先选中一行再进行修改!");return;}CString str;GetDlgItemText(IDC_NUMB, str);if (IDNO == AfxMessageBox("确认修改工号:"+ str+"的数据么?", MB_YESNO))return;GetDlgItemText(IDC_NAME, str);pList->SetItemText(nSel, 1, str);GetDlgItemText(IDC_SALA, str);pList->SetItemText(nSel, 2, str);
}

完成了吕鑫老师第一个小窗口,继续学习后面的内容。。。。。。。。。。。。。。

吕鑫MFC学习系列一相关推荐

  1. 吕鑫MFC学习系列七

    接着上一节的知识点继续学习MFC的一些重要函数,因为函数设计MFC的基础. 第一步,创建一个MFC工程,然后再将上一节的两个功能添加进来,通过类向导添加DestroyWindow(),第二个按钮通过c ...

  2. 吕鑫MFC学习系列十

    继续吕鑫VS2015的MFC类封装原理学习: 前面已经介绍过了,这一节实现一个员工管理系统中的数据管理和显示. 看一下代码: // workDlg.cpp : 实现文件 //#include &quo ...

  3. 吕鑫MFC学习系列四

    第一个是Win32工程转换而成MFC工程: 建一个win32项目,window应用程序,然后删除了所有函数,只留下主函数,编写过程中转MFC,所以右击项目,选择静态库MFC,然后在stdafx.h中用 ...

  4. 吕鑫MFC学习系列六

    这一章学习的相关知识框架: 一.根据主窗口类型,MFC软件工程可以分为以下几种架构模型: 1.SDI(Single Document Interface):单文档界面,一个主框架窗口下只能编辑一份文档 ...

  5. 吕鑫MFC学习系列二

    第二个学习的是CString的类成员的使用,这个类是非常重要的,重点学习一下. 成员函数学习: 1.CString::GetLength() 2.CString::Format() 在vs2013编译 ...

  6. 吕鑫MFC学习系列三

    这节制作的是Ctime类的学习: 1.初始化 m_begintime=CTime(2004,1,1,0,0,0,-1);//参数依次为 year,month,day,hour,minite,secon ...

  7. 吕鑫MFC学习系列五

    这一节就是关于MFC工程管理,这里在主对话框出现之前添加一个登陆界面,最后在主对话框添加一个小小的功能就是关闭window已经打开的窗口. 下面是实现的过程: 主对话框还是上一节中那个MFC消息映射机 ...

  8. 吕鑫MFC学习系列九

    CWinApp类的基类:CObject->CCmdTarget->CWinThread->CWinApp 一.CWinApp类成员变量: 1.WinMain的四个参数: // Sta ...

  9. 【吕鑫MFC学习】一个简单的MFC程序

    开始学习MFC的第一天,实现一个简单的整数计算器用来说明MFC程序的基本流程. 平台:Visual Studio2015 实现的界面: 首先,新建一个MFC应用程序 这里简单说明控制台应用程序.MFC ...

最新文章

  1. 纠错工具之 - Proovread
  2. Shiro 使用 JWT Token 配置类参考
  3. matlab代码cwfac,主成分分析的matlab实现完整程序
  4. MIME Type的介绍
  5. 支援一波 《面试数十人有感》
  6. 【基础知识】Sticky Bit, SUID,SGID
  7. hibernate运行很慢?查一张只有几条记录的表都要一俩分钟?[问题记录]
  8. UIApplication委托信息(多任务)
  9. 2014清华计算机系直博名单,2014年清华大学外校推免名单.pdf
  10. 关于清除贴图与光域网路径
  11. 关于 AI 边云协同解决方案的研究与讨论
  12. 深度互学习-Deep Mutual Learning:三人行必有我师
  13. 395. Longest Substring with At Least K Repeating Characters 1
  14. java flv转mp3_java调用FFmpeg及mencoder转换视频为FLV并截图
  15. java redis 通知_Jboot实现Redis操作事件通知
  16. 一刀传世服务器维护,#一刀传世#
  17. 三大巨头遥遥领先!亚马逊云服务领跑亚太第一,阿里微软紧随其后,腾讯谷歌百度进入前六 | 美通社头条...
  18. Wault Finance闪贷攻击溯源
  19. 不用sqrt()函数,求平方根的三种方法
  20. Android 开源项目及库汇总(2)

热门文章

  1. 贵州商学院计算机与信息工程学院吴秋兰,第十届大学生电商三创大赛贵州商学院校决赛简报...
  2. 全球与中国银铟合金市场运营形势及投资方向分析报告2022~2027年
  3. Nacos学习笔记 (1)Nacos的简介与安装
  4. 软件系统测试方法有哪些?
  5. MATLAB自动驾驶工具箱——卡尔曼运动跟踪示例解读
  6. JavaScript——疑难杂症总结
  7. win10系统怎么开启sql服务器,win10如何启动sql数据库服务器
  8. 设计模式的六大原则?
  9. 电子商务组成与流程框架
  10. 机器学习:DeepMind和OpenAI身后的两大RL流派有什么具体的区别?