c盤清理的步驟是什么(如何清理C盤空間)
如何清理C盤空間怎么清理C盤的垃圾文件?每天上網會給電腦帶來很多臨時文件,這些垃圾文件不清理掉時間久了就會影響到電腦的運行速度。那怎
2022/12/08
(資料圖片)
為實現多賬戶的登陸方式,故采用了標簽頁組合的方式,每個分頁面指向一個登錄窗口。?
學生界面所需要的功能為課程分數查詢,功能較為簡單,采用了下拉框+編輯框+按鈕的方式實現,需要的特殊功能為學分預警。當科目分數小于60時,彈出彈框,并提示,當前科目分數小于60,要加油啦。?
教師界面相對于學生界面略顯復雜,采用了列表+下拉框+編輯框的方式,首先通過下拉框的方式選擇姓名,隨之與其對應的其他幾項也會出現,可以根據科目下拉框選擇需要修改的科目,寫好后點擊修改?
教務界面相較于教師界面包含了成績修改的功能,同時增加了對學生的增加?
BOOL CMySystemDlg::OnInitDialog()?{? CDialogEx::OnInitDialog();? // 將“關于...”菜單項添加到系統菜單中。? // IDM_ABOUTBOX 必須在系統命令范圍內。? ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);? ASSERT(IDM_ABOUTBOX < 0xF000);? CMenu* pSysMenu = GetSystemMenu(FALSE);? if (pSysMenu != nullptr)? {? BOOL bNameValid;? CString strAboutMenu;? bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);? ASSERT(bNameValid);? if (!strAboutMenu.IsEmpty())? {? pSysMenu->AppendMenu(MF_SEPARATOR);? pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);? }? }? // 設置此對話框的圖標。 當應用程序主窗口不是對話框時,框架將自動? // 執行此操作? SetIcon(m_hIcon, TRUE); // 設置大圖標? SetIcon(m_hIcon, FALSE); // 設置小圖標? // TODO: 在此添加額外的初始化代碼? theApp.Mymanager.name = TEXT("教務");? theApp.Mymanager.password = "12345678";? theApp.Mystudent.name = TEXT("宋同學");? theApp.Mystudent.password = "12345678";? theApp.Myteacher.name = TEXT("大衛老師");? theApp.Myteacher.password = "12345678";? CRect tabRect; // 標簽控件客戶區的Rect ? // 獲取標簽控件客戶區Rect,并對其調整,以適合放置標簽頁 ? m_Tab.GetClientRect(&tabRect);? tabRect.left += 1;? tabRect.right -= 1;? tabRect.top += 25;? tabRect.bottom -= 1;? m_Tab.InsertItem(0, _T("學生登錄")); // 插入第一個標簽? m_Tab.InsertItem(1, _T("教師登錄")); // 插入第二個標簽? m_Tab.InsertItem(2, _T("教務登錄")); //第三個標簽? m_student.Create(IDD_DIALOG1, &m_Tab); // 創建第一個標簽頁 ? m_teacher.Create(IDD_DIALOG2, &m_Tab); // 創建第二個標簽頁 ? m_manager.Create(IDD_DIALOG3, &m_Tab);//創建第三個標簽頁? // 根據調整好的tabRect放置t1子對話框,并設置為顯示 ? m_student.SetWindowPos(NULL,tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);? // 根據調整好的tabRect放置t2子對話框,并設置為隱藏 ? m_teacher.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? // 根據調整好的tabRect放置t3子對話框,并設置為隱藏 ? m_manager.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? return TRUE; // 除非將焦點設置到控件,否則返回 TRUE?}?void CMySystemDlg::OnSysCommand(UINT nID, LPARAM lParam)?{? if ((nID & 0xFFF0) == IDM_ABOUTBOX)? {? CAboutDlg dlgAbout;? dlgAbout.DoModal();? }? else? {? CDialogEx::OnSysCommand(nID, lParam);? }?}?//當用戶拖動最小化窗口時系統調用此函數取得光標?//顯示。?HCURSOR CMySystemDlg::OnQueryDragIcon()?{ return static_cast(m_hIcon);?}void CMySystemDlg::OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)?{ // TODO: 在此添加控件通知處理程序代碼 CRect tabRect; // 標簽控件客戶區的Rect // 獲取標簽控件客戶區Rect,并對其調整,以適合放置標簽頁 ? m_Tab.GetClientRect(&tabRect); tabRect.left += 1;? tabRect.right -= 1;? tabRect.top += 25;? tabRect.bottom -= 1;? switch (m_Tab.GetCurSel()) //返回組合框中列表框中當前選中的項的下標。如果沒有選中項,則返回CB_ERR。 ? {? // 如果標簽控件當前選擇標簽為“測試1”? case 0:? m_student.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);? m_teacher.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? m_manager.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? break;? // 如果標簽控件當前選擇標簽為“測試2”? case 1:? m_student.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? m_teacher.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);? m_manager.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? break;? case 2:? m_student.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? m_teacher.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);? m_manager.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);? break;? default:? break;? }? *pResult = 0;?}
// StudentDlg 對話框?IMPLEMENT_DYNAMIC(StudentDlg, CDialogEx)?StudentDlg::StudentDlg(CWnd* pParent /*=nullptr*/)? : CDialogEx(IDD_DIALOG1, pParent)? , m_name(_T(""))? , m_password(_T(""))?{?}?StudentDlg::~StudentDlg()?{?}?void StudentDlg::DoDataExchange(CDataExchange* pDX)?{? CDialogEx::DoDataExchange(pDX);? DDX_Text(pDX, IDC_EDIT1, m_name);? DDX_Text(pDX, IDC_EDIT2, m_password);?}?BEGIN_MESSAGE_MAP(StudentDlg, CDialogEx)? ON_BN_CLICKED(IDC_BUTTON1, &StudentDlg::OnBnClickedButton1)? ON_BN_CLICKED(IDC_BUTTON2, &StudentDlg::OnBnClickedButton2)?END_MESSAGE_MAP()?// StudentDlg 消息處理程序?//學生登錄?void StudentDlg::OnBnClickedButton1()?{? // TODO: 在此添加控件通知處理程序代碼? UpdateData(TRUE);? if (m_name == theApp.Mystudent.name && m_password == theApp.Mystudent.password)? {? StuManDlg dlg;? dlg.DoModal();? return;? }? MessageBox(TEXT("賬號或密碼輸入錯誤,請重新輸入"));?}?//學生返回?void StudentDlg::OnBnClickedButton2()?{? // TODO: 在此添加控件通知處理程序代碼? exit(1);?}?void StudentDlg::OnOK()?{? // TODO: 在此添加專用代碼和/或調用基類? if (GetFocus() == GetDlgItem(IDC_EDIT1))? GetDlgItem(IDC_EDIT2)->SetFocus();? else if (GetFocus() == GetDlgItem(IDC_EDIT2))? return OnBnClickedButton1();? //CDialogEx::OnOK();?}?BOOL StudentDlg::OnInitDialog()?{? CDialogEx::OnInitDialog();? m_name = TEXT("宋同學"); //用戶名? m_password = TEXT("12345678");//密碼? UpdateData(FALSE); //內容更新到對應的控件? // TODO: 在此添加額外的初始化? GetDlgItem(IDC_EDIT1)->SetFocus();? return TRUE; // return TRUE unless you set the focus to a control? // 異常: OCX 屬性頁應返回 FALSE?}
// TeacherDlg 對話框?IMPLEMENT_DYNAMIC(TeacherDlg, CDialogEx)?TeacherDlg::TeacherDlg(CWnd* pParent /*=nullptr*/)? : CDialogEx(IDD_DIALOG2, pParent)? , m_name(_T(""))? , m_password(_T(""))?{?}?TeacherDlg::~TeacherDlg()?{?}?void TeacherDlg::DoDataExchange(CDataExchange* pDX)?{? CDialogEx::DoDataExchange(pDX);? DDX_Text(pDX, IDC_EDIT1, m_name);? DDX_Text(pDX, IDC_EDIT2, m_password);?}?BEGIN_MESSAGE_MAP(TeacherDlg, CDialogEx)? ON_BN_CLICKED(IDC_BUTTON2, &TeacherDlg::OnBnClickedButton2)? ON_BN_CLICKED(IDC_BUTTON1, &TeacherDlg::OnBnClickedButton1)?END_MESSAGE_MAP()?// TeacherDlg 消息處理程序?//教師登錄?void TeacherDlg::OnBnClickedButton2()?{? // TODO: 在此添加控件通知處理程序代碼? UpdateData(TRUE);? if (m_name == theApp.Myteacher.name && m_password == theApp.Myteacher.password)? {? TeaManDlg dlg;? dlg.DoModal();? return;? }? MessageBox(TEXT("賬號或密碼輸入錯誤,請重新輸入"));?}?//教師返回?void TeacherDlg::OnBnClickedButton1()?{? // TODO: 在此添加控件通知處理程序代碼? exit(1);?}?void TeacherDlg::OnOK()?{? // TODO: 在此添加專用代碼和/或調用基類? if (GetFocus() == GetDlgItem(IDC_EDIT1))? GetDlgItem(IDC_EDIT2)->SetFocus();? else if (GetFocus() == GetDlgItem(IDC_EDIT2))? return OnBnClickedButton2();? //CDialogEx::OnOK();?}?BOOL TeacherDlg::OnInitDialog()?{? CDialogEx::OnInitDialog();? m_name = TEXT("大衛老師"); //用戶名? m_password = TEXT("12345678");//密碼? UpdateData(FALSE); //內容更新到對應的控件? // TODO: 在此添加額外的初始化? GetDlgItem(IDC_EDIT1)->SetFocus();? return TRUE; // return TRUE unless you set the focus to a control? // 異常: OCX 屬性頁應返回 FALSE?}
// ManagerDlg 對話框?IMPLEMENT_DYNAMIC(ManagerDlg, CDialogEx)?ManagerDlg::ManagerDlg(CWnd* pParent /*=nullptr*/)? : CDialogEx(IDD_DIALOG3, pParent)? , m_name(_T(""))? , m_password(_T(""))?{?}?ManagerDlg::~ManagerDlg()?{?}?void ManagerDlg::DoDataExchange(CDataExchange* pDX)?{? CDialogEx::DoDataExchange(pDX);? DDX_Text(pDX, IDC_EDIT1, m_name);? DDX_Text(pDX, IDC_EDIT2, m_password);?}?BEGIN_MESSAGE_MAP(ManagerDlg, CDialogEx)? ON_EN_CHANGE(IDC_EDIT1, &ManagerDlg::OnEnChangeEdit1)? ON_BN_CLICKED(IDC_BUTTON1, &ManagerDlg::OnBnClickedButton1)? ON_BN_CLICKED(IDC_BUTTON2, &ManagerDlg::OnBnClickedButton2)? ON_WM_CTLCOLOR()?END_MESSAGE_MAP()?// ManagerDlg 消息處理程序?BOOL ManagerDlg::OnInitDialog()?{? CDialogEx::OnInitDialog();? m_name = TEXT("教務"); //用戶名? m_password = TEXT("12345678");//密碼? UpdateData(FALSE); //內容更新到對應的控件? // TODO: 在此添加額外的初始化? GetDlgItem(IDC_EDIT1)->SetFocus();? return TRUE; // return TRUE unless you set the focus to a control? // 異常: OCX 屬性頁應返回 FALSE?}?void ManagerDlg::OnEnChangeEdit1()?{? // TODO: 如果該控件是 RICHEDIT 控件,它將不? // 發送此通知,除非重寫 CDialogEx::OnInitDialog()? // 函數并調用 CRichEditCtrl().SetEventMask(),? // 同時將 ENM_CHANGE 標志“或”運算到掩碼中。?}?//教務登錄?void ManagerDlg::OnBnClickedButton1()?{? // TODO: 在此添加控件通知處理程序代碼? UpdateData(TRUE);? if (m_name == theApp.Mymanager.name && m_password == theApp.Mymanager.password)? {? MANANGER dlg;? dlg.DoModal();? return;? }? MessageBox(TEXT("賬號或密碼輸入錯誤,請重新輸入"));?}?//教務退出?void ManagerDlg::OnBnClickedButton2()?{? // TODO: 在此添加控件通知處理程序代碼? exit(1);?}?void ManagerDlg::OnOK()?{? // TODO: 在此添加專用代碼和/或調用基類? if (GetFocus() == GetDlgItem(IDC_EDIT1))? GetDlgItem(IDC_EDIT2)->SetFocus();? else if (GetFocus() == GetDlgItem(IDC_EDIT2))? return OnBnClickedButton1();? //CDialogEx::OnOK();?}?
// StuManDlg 對話框?IMPLEMENT_DYNAMIC(StuManDlg, CDialogEx)?StuManDlg::StuManDlg(CWnd* pParent /*=nullptr*/)? : CDialogEx(IDD_STUDENT, pParent)? , m_grade(0)? , m_num(0)? , m_war(_T(""))?{?}?StuManDlg::~StuManDlg()?{?}?void StuManDlg::DoDataExchange(CDataExchange* pDX)?{? CDialogEx::DoDataExchange(pDX);? DDX_Control(pDX, IDC_COMBO1, m_combo);? DDX_Text(pDX, IDC_EDIT2, m_grade);? DDX_Text(pDX, IDC_EDIT1, m_num);? DDX_Text(pDX, IDC_EDIT3, m_war);?}?BEGIN_MESSAGE_MAP(StuManDlg, CDialogEx)? ON_BN_CLICKED(IDC_BUTTON1, &StuManDlg::OnBnClickedButton1)? ON_CBN_SELCHANGE(IDC_COMBO1, &StuManDlg::OnCbnSelchangeCombo1)?END_MESSAGE_MAP()?BOOL StuManDlg::OnInitDialog()?{? CDialogEx::OnInitDialog();? //讀取文件,獲取課程名稱,給組合框添加字符串? CRect temprect(0, 0, 500, 400);? CWnd::SetWindowPos(NULL, 0, 0, temprect.Width(), temprect.Height(), SWP_NOZORDER | SWP_NOMOVE);? CInfoFile file;? file.ReadDocline_one(); //讀取學生信息? for (list::iterator it = file.ls_one.begin(); it != file.ls_one.end(); it++)? {? m_combo.AddString((CString)it->sub.c_str());? }? file.ls_one.clear(); //清空list的內容? return TRUE; // return TRUE unless you set the focus to a control? // 異常: OCX 屬性頁應返回 FALSE?}?void StuManDlg::OnBnClickedButton1()?{? // TODO: 在此添加控件通知處理程序代碼? //獲取控件上的內容,更新到對應關聯的變量中? UpdateData(TRUE);? CString type;? //獲取當前選中項? int index = m_combo.GetCurSel();? //獲取組合框當前內容? m_combo.GetLBText(index, type);? if (m_grade <= 60)? {? CString str;? str.Format(_T("科目:%s \r\n當前成績小于60分,要好好學習啦!"), type);? m_war = str; //銷售信息? UpdateData(FALSE);? MessageBox(str);? }? CInfoFile file;? file.ReadDocline(); //讀取商品信息? for (list ::iterator it = file.ls_one.begin(); it != file.ls_one.end(); it++)? {? if (type == it->sub.c_str())? {? }? }? file.ls.clear(); //清空list的內容? UpdateData(FALSE); //更新到對應的控件?}?void StuManDlg::OnCbnSelchangeCombo1()?{? // TODO: 在此添加控件通知處理程序代碼? CString text;? //獲取當前選中項? int index = m_combo.GetCurSel();? //獲取當前內容? m_combo.GetLBText(index, text);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline_one(); //讀取科目信息? for (list ::iterator it = file.ls_one.begin(); it != file.ls_one.end(); it++)? {? if (text == it->sub.c_str())? {? m_grade = it->grade;? m_num = it->numb;? UpdateData(FALSE); //內容更新到對應的控件? }? }? file.ls_one.clear(); //清空list的內容?}
// TeaManDlg 對話框?IMPLEMENT_DYNAMIC(TeaManDlg, CDialogEx)?TeaManDlg::TeaManDlg(CWnd* pParent /*=nullptr*/)? : CDialogEx(IDD_TEACHER, pParent)? , _age(0)? , _grade(0)? , _id(0)?{?}?TeaManDlg::~TeaManDlg()?{?}?BOOL TeaManDlg::OnInitDialog()?{? CDialogEx::OnInitDialog();? CRect temprect(0, 0, 720, 670);? CWnd::SetWindowPos(NULL, 0, 0, temprect.Width(), temprect.Height(), SWP_NOZORDER | SWP_NOMOVE);? _list.SetExtendedStyle(_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);? CString str[] = { TEXT("學號"),TEXT("姓名"),TEXT("年齡"),TEXT("VC++"),TEXT("單片機")};? for (int i = 0; i < 5; i++)? {? _list.InsertColumn(i, str[i], LVCFMT_LEFT, 80);? }? CInfoFile file;? file.ReadDocline();? int i = 0;? for (list::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? CString str;? str.Format(_T("%d"), (it->id));? _list.InsertItem(i, str);? str = CString(it->name.c_str());? _list.SetItemText(i, 1, str);? str.Format(_T("%d"), it->age);? _list.SetItemText(i, 2, str);? str.Format(_T("%d"), it->grade_vc);? _list.SetItemText(i, 3, str);? str.Format(_T("%d"), it->grade_mcu);? _list.SetItemText(i, 4, str);? i++;? //選項的下拉框中姓名部分代碼? _combo.AddString((CString)it->name.c_str());? }? return TRUE; // return TRUE unless you set the focus to a control? // 異常: OCX 屬性頁應返回 FALSE?}?void TeaManDlg::DoDataExchange(CDataExchange* pDX)?{? CDialogEx::DoDataExchange(pDX);? DDX_Control(pDX, IDC_LIST1, _list);? DDX_Control(pDX, IDC_COMBO4, _combo);? DDX_Text(pDX, IDC_EDIT6, _age);? DDX_Text(pDX, IDC_EDIT7, _grade);? DDX_Text(pDX, IDC_EDIT2, _id);? DDX_Control(pDX, IDC_COMBO1, _combo_sub);?}?BEGIN_MESSAGE_MAP(TeaManDlg, CDialogEx)? ON_CBN_SELCHANGE(IDC_COMBO4, &TeaManDlg::OnCbnSelchangeCombo4)? ON_BN_CLICKED(IDC_BUTTON1, &TeaManDlg::OnBnClickedButton1)? ON_CBN_SELCHANGE(IDC_COMBO1, &TeaManDlg::OnCbnSelchangeCombo1)? ON_BN_CLICKED(IDC_BUTTON2, &TeaManDlg::OnBnClickedButton2)?END_MESSAGE_MAP()?// TeaManDlg 消息處理程序?void TeaManDlg::OnCbnSelchangeCombo4()?{? _grade = 0; //每次切換完之后將成績框歸零? CString text;? int index = _combo.GetCurSel(); //獲取當前選中項? _combo.GetLBText(index, text); //獲取當前內容? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? if (text == it->name.c_str())? {? _age = it->age; ? _id = it->id;? UpdateData(FALSE); //內容更新到對應的控件? _combo_sub.ResetContent();? _combo_sub.AddString(TEXT("VC++")); //AddString為追加選項? _combo_sub.AddString(TEXT("單片機"));? }? }? file.ls.clear(); //清空list的內容?}?void TeaManDlg::OnBnClickedButton1()?{? // TODO: 在此添加控件通知處理程序代碼? UpdateData(TRUE);? CString type;? //獲取當前選中項? int index = _combo.GetCurSel();? //獲取組合框當前內容? _combo.GetLBText(index, type);? //需要包含#include "InfoFile.h"? CInfoFile file;? file.ReadDocline(); //讀取學生信息? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? if (type == it->name.c_str())? {? it->age = _age;? it->id = _id;? CString text;? int index = _combo_sub.GetCurSel();//獲取當前下拉框文本內容? _combo_sub.GetLBText(index, text);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? if (text == CString(TEXT("VC++")))? {? it->grade_vc = _grade;? UpdateData(FALSE); //內容更新到對應的控件? }? if (text == CString(TEXT("單片機")))? {? it->grade_mcu = _grade;? UpdateData(FALSE); //內容更新到對應的控件? }? }? }? file.WriteDocline(); //更新文件內容? file.ls.clear(); //清空list的內容? UpdateData(FALSE); //更新到對應的控件? MessageBox(TEXT("修改成功"));? CDialog::OnCancel(); //關閉當前窗口? TeaManDlg dlg; //重新打開并刷新? dlg.DoModal();?}?void TeaManDlg::OnCbnSelchangeCombo1()?{? // TODO: 在此添加控件通知處理程序代碼? CString text_all;? int index = _combo.GetCurSel(); //獲取當前內容? _combo.GetLBText(index, text_all);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? if (text_all == it->name.c_str())? {? CString text;? int index = _combo_sub.GetCurSel();//獲取當前下拉框文本內容? _combo_sub.GetLBText(index, text);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? if (text == CString(TEXT("VC++")))? {? _grade = it->grade_vc;? UpdateData(FALSE); //內容更新到對應的控件? }? if (text == CString(TEXT("單片機")))? {? _grade = it->grade_mcu;? UpdateData(FALSE); //內容更新到對應的控件? }? }? }? file.ls.clear(); //清空list的內容?}?//取消修改?void TeaManDlg::OnBnClickedButton2()?{? // TODO: 在此添加控件通知處理程序代碼? _id = 0;? _age = 0;? _grade = 0;? UpdateData(FALSE);?}
// MANANGER 對話框?IMPLEMENT_DYNAMIC(MANANGER, CDialogEx)?MANANGER::MANANGER(CWnd* pParent /*=nullptr*/)? : CDialogEx(IDD_DIALOG4, pParent)? , _id(0)? , _age(0)? , _grade(0)? , _name(_T(""))? , _Addsub(_T(""))?{?}?MANANGER::~MANANGER()?{?}?void MANANGER::DoDataExchange(CDataExchange* pDX)?{? CDialogEx::DoDataExchange(pDX);? DDX_Control(pDX, IDC_LIST2, _list);? DDX_Text(pDX, IDC_EDIT1, _id);? DDX_Text(pDX, IDC_EDIT2, _age);? DDX_Text(pDX, IDC_EDIT7, _grade);? DDX_Control(pDX, IDC_COMBO5, _combo);? DDX_Text(pDX, IDC_EDIT5, _name);? DDX_Control(pDX, IDC_COMBO1, _combo_sub);? DDX_Control(pDX, IDC_COMBO2, _combo_sub2);? DDX_Text(pDX, IDC_EDIT3, _Addsub);?}?BEGIN_MESSAGE_MAP(MANANGER, CDialogEx)? ON_BN_CLICKED(IDC_BUTTON1, &MANANGER::OnBnClickedButton1)? ON_BN_CLICKED(IDC_BUTTON9, &MANANGER::OnBnClickedButton9)? ON_CBN_SELCHANGE(IDC_COMBO5, &MANANGER::OnCbnSelchangeCombo5)? ON_BN_CLICKED(IDC_BUTTON2, &MANANGER::OnBnClickedButton2)? ON_BN_CLICKED(IDC_BUTTON6, &MANANGER::OnBnClickedButton6)? ON_CBN_SELCHANGE(IDC_COMBO2, &MANANGER::OnCbnSelchangeCombo2)? ON_BN_CLICKED(IDC_BUTTON5, &MANANGER::OnBnClickedButton5)?END_MESSAGE_MAP()?// 添加學生信息?void MANANGER::OnBnClickedButton1()?{? // TODO: 在此添加控件通知處理程序代碼? UpdateData(TRUE); //獲取控件內容? if (_age <= 0 || _name.IsEmpty())? {? MessageBox(TEXT("輸入信息有誤"));? return;? }? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? file.Addline(_id,_name,_age); //添加學生? file.WriteDocline(); //寫文件? file.ls.clear(); //清空list的內容? MessageBox(_T("添加成功"));? _name.Empty();? _age = 0;? _grade = 0;? CDialog::OnCancel(); //關閉當前窗口? MANANGER dlg; //重新打開并刷新? dlg.DoModal();? UpdateData(FALSE);?}?//初始化?BOOL MANANGER::OnInitDialog()?{? CDialogEx::OnInitDialog();? CRect temprect(0, 0, 870, 650);? CWnd::SetWindowPos(NULL, 0, 0, temprect.Width(), temprect.Height(), SWP_NOZORDER | SWP_NOMOVE);? _list.SetExtendedStyle(_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);? CString str[] = { TEXT("學號"),TEXT("姓名"),TEXT("年齡"),TEXT("VC++") ,TEXT("單片機") };? for (int i = 0; i < 5; i++)? {? _list.InsertColumn(i, str[i], LVCFMT_LEFT, 80);? }? CInfoFile file;? file.ReadDocline();? int i = 0;? for (list::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? CString str;? str.Format(_T("%d"), (it->id));? _list.InsertItem(i, str); //添加列? str = CString(it->name.c_str());? _list.SetItemText(i, 1, str);//添加文本內容? str.Format(_T("%d"), it->age);? _list.SetItemText(i, 2, str);? str.Format(_T("%d"), it->grade_vc);? _list.SetItemText(i, 3, str);? str.Format(_T("%d"), it->grade_mcu);? _list.SetItemText(i, 4, str);? i++;? _combo.AddString((CString)it->name.c_str());? }? _combo_sub.AddString(TEXT("VC++")); //AddString為追加選項? _combo_sub.AddString(TEXT("單片機"));? return TRUE; // return TRUE unless you set the focus to a control? // 異常: OCX 屬性頁應返回 FALSE?}?//刪除學生按鈕部分?void MANANGER::OnBnClickedButton9() ?{? // TODO: 在此添加控件通知處理程序代碼? //獲取控件上的內容,更新到對應關聯的變量中? UpdateData(TRUE);? int index = _combo.GetCurSel();? if (index == -1)? {? MessageBox(TEXT("刪除失敗,您未選中任何人"));? return;? }? CString type; ? _combo.GetLBText(index, type);//獲取組合框當前內容? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? UpdateData(TRUE);? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? CString str;? str = CString(it->name.c_str());? if (type == str)? {? file.ls.remove(*it);? _id = 0;? _name = "";? _age = 0;? _grade = 0;? _combo.DeleteString(_combo.GetCurSel());? _combo.SetCurSel(-1);? break;? }? }? file.WriteDocline(); //更新文件內容? UpdateData(FALSE); //更新到對應的控件? MessageBox(TEXT("刪除成功"));? CDialog::OnCancel(); //關閉當前窗口? MANANGER dlg; //重新打開并刷新? dlg.DoModal();?}?void MANANGER::OnCbnSelchangeCombo5()?{? // TODO: 在此添加控件通知處理程序代碼? _grade = 0; //每次切換完之后將成績框歸零? CString text;? int index = _combo.GetCurSel(); //獲取當前選中項? _combo.GetLBText(index, text); //獲取當前內容? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? if (text == it->name.c_str()) //姓名比對? {? _age = it->age;? _id = it->id;? UpdateData(FALSE); //內容更新到對應的控件? _combo_sub2.ResetContent();? _combo_sub2.AddString(TEXT("VC++")); //AddString為追加選項? _combo_sub2.AddString(TEXT("單片機"));? }? }?}?//修改學生信息?void MANANGER::OnBnClickedButton2()?{? UpdateData(TRUE);? CString type;? //獲取當前選中項? int index = _combo.GetCurSel();? //獲取組合框當前內容? _combo.GetLBText(index, type);? //需要包含#include "InfoFile.h"? CInfoFile file;? file.ReadDocline(); //讀取學生信息? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? if (type == it->name.c_str())? {? if (!(_name.IsEmpty()))? {? CStringA s_name;? s_name = _name;? it->name = s_name.GetBuffer();? }? it->age = _age;? it->id = _id;? CString text;? int index = _combo_sub2.GetCurSel();//獲取當前下拉框文本內容? _combo_sub2.GetLBText(index, text);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? if (text == CString(TEXT("VC++")))? {? it->grade_vc = _grade;? UpdateData(FALSE); //內容更新到對應的控件? }? if (text == CString(TEXT("單片機")))? {? it->grade_mcu = _grade;? UpdateData(FALSE); //內容更新到對應的控件? }? }? }? file.WriteDocline(); //更新文件內容? file.ls.clear(); //清空list的內容? MessageBox(TEXT("修改成功"));? UpdateData(FALSE); //更新到對應的控件? CDialog::OnCancel(); //關閉當前窗口? MANANGER dlg; //重新打開并刷新? dlg.DoModal();?}?//添加課程信息?int i = 6;?void MANANGER::OnBnClickedButton6()?{? // TODO: 在此添加控件通知處理程序代碼? //獲取編輯框內容 ? UpdateData(TRUE); //獲取內容? _combo_sub.AddString(_Addsub);? _list.InsertColumn(i,_Addsub,LVCFMT_LEFT,80); //添加列? i++;? UpdateData(FALSE);?}?//添加學生成績信息?void MANANGER::OnCbnSelchangeCombo2()?{? // TODO: 在此添加控件通知處理程序代碼? CString text_all;? int index = _combo.GetCurSel(); //獲取當前內容? _combo.GetLBText(index, text_all);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? for (list ::iterator it = file.ls.begin(); it != file.ls.end(); it++)? {? if (text_all == it->name.c_str())? {? CString text;? int index = _combo_sub2.GetCurSel();//獲取當前下拉框文本內容? _combo_sub2.GetLBText(index, text);? CInfoFile file; //需要包含#include "InfoFile.h"? file.ReadDocline(); //讀取學生信息? if (text == CString(TEXT("VC++")))? {? _grade = it->grade_vc;? UpdateData(FALSE); //內容更新到對應的控件? }? if (text == CString(TEXT("單片機")))? {? _grade = it->grade_mcu;? UpdateData(FALSE); //內容更新到對應的控件? }? }? }? file.ls.clear(); //清空list的內容?}?void MANANGER::OnBnClickedButton5()?{? // TODO: 在此添加控件通知處理程序代碼? _combo_sub.DeleteString(_combo_sub.GetCurSel()); //刪除當前數據? //_list.DeleteColumn(6);?}? }?
?