⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 studentdlg.cpp

📁 这是一个课程设计
💻 CPP
字号:
// StudentDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Scoremanager.h"
#include "StudentDlg.h"
#include "StudentSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CStudentDlg dialog


CStudentDlg::CStudentDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CStudentDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CStudentDlg)
	//}}AFX_DATA_INIT
}


void CStudentDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStudentDlg)
	DDX_Control(pDX, IDCANCEL, m_can);
	DDX_Control(pDX, IDCANCEL1, m_can1);
	DDX_Control(pDX, IDC_STUDNET_EDIT, m_bEdit);
	DDX_Control(pDX, IDC_STUDNET_DEL, m_bDel);
	DDX_Control(pDX, IDC_STUDENT_ADD, m_bAdd);
	DDX_Control(pDX, ID_STUDNET_OK, m_bConfirm);
	DDX_Control(pDX, IDC_LIST_STUDNET, m_list);
	DDX_Control(pDX, IDC_STUDENT_AGE, m_strAge);
	DDX_Control(pDX, IDC_STUDNET_ADDRESS, m_strAddress);
	DDX_Control(pDX, IDC_STUDNET_PHONE, m_strPhone);
	DDX_Control(pDX, IDC_STUDNET_NAME, m_strName);
	DDX_Control(pDX, IDC_STUDNET_NO, m_strNo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStudentDlg, CDialog)
	//{{AFX_MSG_MAP(CStudentDlg)
	ON_NOTIFY(NM_CLICK, IDC_LIST_STUDNET, OnClickListStudnet)
	ON_BN_CLICKED(IDC_STUDENT_ADD, OnStudentAdd)
	ON_BN_CLICKED(IDC_STUDNET_EDIT, OnStudnetEdit)
	ON_BN_CLICKED(IDC_STUDNET_DEL, OnStudnetDel)
	ON_BN_CLICKED(ID_STUDNET_OK, OnStudnetOk)
	ON_BN_CLICKED(IDCANCEL1, OnCancel1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStudentDlg message handlers

void CStudentDlg::RefreshList()
{
m_list.DeleteAllItems();
m_studentSet.Open();
m_studentSet.m_strFilter="active_status='Y'";
m_studentSet.Requery();
  for(int i=0;i<m_studentSet.GetRecordCount();i++)
  {
   CString temp;
   m_studentSet.GetFieldValue("student_no",temp);
   m_list.InsertItem(i,temp);   
   m_studentSet.GetFieldValue("student_name",temp);
   m_list.SetItemText(i,1,temp);
   m_studentSet.GetFieldValue("student_sex",temp);
   m_list.SetItemText(i,2,temp);
   
  
  
   m_studentSet.GetFieldValue("student_age",temp);
   m_list.SetItemText(i,3,temp);
   m_studentSet.GetFieldValue("student_phone",temp);
   m_list.SetItemText(i,4,temp);
   m_studentSet.GetFieldValue("student_address",temp);
   m_list.SetItemText(i,5,temp);
   m_studentSet.MoveNext();
   }
   m_studentSet.Close();

}

void CStudentDlg::ResetButton()
{
	CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_FEMALE);
    CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_MALE);
m_strNo.EnableWindow(false);
m_strName.EnableWindow(false);
m_strAge.EnableWindow(false);
m_strPhone.EnableWindow(false);
m_strAddress.EnableWindow(false);
m_bAdd.EnableWindow(true);
femaleRadio->EnableWindow(false);
maleRadio->EnableWindow(false);
m_bConfirm.EnableWindow(false);
m_bAdd.EnableWindow(true);
m_bDel.EnableWindow(true);
m_bEdit.EnableWindow(true);
}

BOOL CStudentDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	
    m_list.InsertColumn(0,"编号");
    m_list.InsertColumn(1,"姓名");
	m_list.InsertColumn(2,"性别");
    m_list.InsertColumn(3,"年龄");
        m_list.InsertColumn(4,"电话");
        m_list.InsertColumn(5,"地址");
	RECT rectList;
	m_list.GetWindowRect(&rectList);
	int wid=rectList.right-rectList.left-4;
	for(int i=0;i<6;i++)
	m_list.SetColumnWidth(i,wid/6);
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	RefreshList();
        for(int j=1;j<100;j++)
        {
            CString s;
            s.Format("%d",j);
            m_strAge.AddString(s);
        }
CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_FEMALE);
CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_MALE);
femaleRadio->EnableWindow(false);
maleRadio->EnableWindow(false);
ResetButton();
return TRUE;
}

void CStudentDlg::OnClickListStudnet(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_FEMALE);
    CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_MALE);
    int row=m_list.GetSelectionMark();
	CString s;
	s=m_list.GetItemText(row,0);
	m_strNo.SetWindowText(s);
	s=m_list.GetItemText(row,1);
	m_strName.SetWindowText(s);
	s=m_list.GetItemText(row,2);
	
	
	if(s=="女")
	{		femaleRadio->SetCheck(true);
            maleRadio->SetCheck(false);
		
	}

	else 
	{
		femaleRadio->SetCheck(false);
        maleRadio->SetCheck(true);
	}
	s=m_list.GetItemText(row,3);
        int i=m_strAge.FindString(0,s);
        m_strAge.SelectString(i,s);
        s=m_list.GetItemText(row,4);
        m_strPhone.SetWindowText(s);
        s=m_list.GetItemText(row,5);
        m_strAddress.SetWindowText(s);
        *pResult=0;
}	
	


void CStudentDlg::OnStudentAdd() 
{
	CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_FEMALE);
    CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_MALE);
m_strNo.EnableWindow(true);
m_strNo.SetWindowText("");
m_strName.EnableWindow(true);
m_strName.SetWindowText("");
m_strAge.EnableWindow(true);
m_strAge.SelectString(0,"20");	
m_strPhone.EnableWindow(true);
m_strAddress.EnableWindow(true);
femaleRadio->EnableWindow(true);
maleRadio->EnableWindow(true);

m_studentSet.Open();
m_studentSet.AddNew();
m_bConfirm.EnableWindow(true);
m_bAdd.EnableWindow(false);
m_bDel.EnableWindow(false);
m_bEdit.EnableWindow(false);	
	
}

void CStudentDlg::OnStudnetEdit() 
{
	CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_FEMALE);
    CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_RADIO_SEX_MALE);

int row=m_list.GetSelectionMark();
CString s,strSQL;
s=m_list.GetItemText(row,0);
  if(s=="")
  {
	  MessageBox("请选中一行");
  }
  else
  {
	  strSQL.Format("student_no=%s",s);
	  m_studentSet.Open();
	  m_studentSet.m_strFilter=strSQL;
      m_studentSet.Requery();
	  m_studentSet.Edit();
	  m_bConfirm.EnableWindow(true);
	  //m_strUserNo.EnableWindow(true);
      m_strName.EnableWindow(true);
      m_strNo.EnableWindow(true);
      m_strAge.EnableWindow(true);
	  m_strPhone.EnableWindow(true);
      m_strAddress.EnableWindow(true);
      femaleRadio->EnableWindow(true);
      maleRadio->EnableWindow(true);

      m_bAdd.EnableWindow(false);
      m_bDel.EnableWindow(false);
      m_bEdit.EnableWindow(false);

  }
	
}

void CStudentDlg::OnStudnetDel() 
{
	int row=m_list.GetSelectionMark();
CString s,strSQL;
s=m_list.GetItemText(row,0);
  if(s=="")
  {
	  MessageBox("请选中一行");
  }
  else
  {
	  if(MessageBox("确定要删除该记录吗?","删除询问",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
	  {
	  strSQL.Format("student_no=%s",s);
	  m_studentSet.Open();
	  m_studentSet.m_strFilter=strSQL;
      m_studentSet.Requery();
	  m_studentSet.Edit();
	  m_studentSet.m_active_status="N";
	  m_studentSet.Update();
      m_studentSet.Close();
	  RefreshList();
	  }
  }

	
}

void CStudentDlg::OnStudnetOk() 
{
CString studentno,studentname,studentphone,studentaddress,strSex;

m_strNo.GetWindowText(studentno);
m_strName.GetWindowText(studentname);
m_strPhone.GetWindowText(studentphone);
m_strAddress.GetWindowText(studentaddress);

int studentage;
CString s;
m_strAge.GetWindowText(s);
studentage=atoi(s);

int studentsex=this->GetCheckedRadioButton(IDC_RADIO_SEX_MALE,IDC_RADIO_SEX_FEMALE);
if(studentsex==IDC_RADIO_SEX_FEMALE)
   strSex="女";
else 
   strSex="男";


  if(studentno=="")
  {
	  MessageBox("请输入学号");
  }
  else if(studentname=="")
  {
	  MessageBox("请输入姓名");
  }	

  else
  {



      m_studentSet.m_student_no=studentno;


      m_studentSet.m_student_name=studentname;
	  m_studentSet.m_student_sex=strSex;
	  m_studentSet.m_student_age=studentage;
      m_studentSet.m_student_phone=studentphone;
      m_studentSet.m_student_address=studentaddress;
	  m_studentSet.m_active_status="Y";

	  m_studentSet.Update();
	  m_studentSet.Close();
	  RefreshList();
	  ResetButton();
  }
	
}

void CStudentDlg::OnCancel1() 
{
	if(m_studentSet.IsOpen())
	   m_studentSet.Close();
	ResetButton();
	
}

void CStudentDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -