吕鑫MFC学习系列一

吕鑫MFC学习系列一前面有学习 MFC 比较零乱 利用假期好好恶补一下 接下来按照在网易公开课上吕鑫老师的 MFC 的教程来学习 MFC 的开发 第一个学习的是员工管理系统 先把实现好的窗口贴上来 主要的功能 添加 员工的工号 姓名 工资 选中删除的员工

大家好,我是讯享网,很高兴认识大家。

前面有学习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); }
完成了吕鑫老师第一个小窗口,继续学习后面的内容。。。。。。。。。。。。。。

小讯
上一篇 2025-03-22 18:03
下一篇 2025-03-19 13:32

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/22425.html