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

📄 学生信息管理系统view.cpp

📁 学生信息管理系统
💻 CPP
字号:
// 学生信息管理系统View.cpp : implementation of the CMyView class
//

#include "stdafx.h"
#include "学生信息管理系统.h"

#include "学生信息管理系统Set.h"
#include "学生信息管理系统Doc.h"
#include "学生信息管理系统View.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyView

IMPLEMENT_DYNCREATE(CMyView, CRecordView)

BEGIN_MESSAGE_MAP(CMyView, CRecordView)
	//{{AFX_MSG_MAP(CMyView)
	ON_EN_CHANGE(IDC_ID, OnChangeId)
	ON_EN_CHANGE(IDC_NAME, OnChangeName)
	ON_EN_CHANGE(IDC_ADDRESS, OnChangeAddress)
	ON_EN_CHANGE(IDC_TEL, OnChangeTel)
	ON_BN_CLICKED(IDC_BUTTON2, OnUPDATE)
	ON_BN_CLICKED(IDC_BUTTON1, OnADD)
	ON_BN_CLICKED(IDC_BUTTON3, OnDEL)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyView construction/destruction

CMyView::CMyView()
	: CRecordView(CMyView::IDD)
{
	//{{AFX_DATA_INIT(CMyView)
	m_pSet = NULL;
	m_nStudentid = _T("");
	m_nName = _T("");
	m_nAddress = _T("");
	m_nTel = _T("");
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CMyView::~CMyView()
{
}

void CMyView::DoDataExchange(CDataExchange* pDX)
{
	CRecordView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMyView)
	DDX_Text(pDX, IDC_ID, m_nStudentid);
	DDX_Text(pDX, IDC_NAME, m_nName);
	DDX_Text(pDX, IDC_ADDRESS, m_nAddress);
	DDX_Text(pDX, IDC_TEL, m_nTel);
	//}}AFX_DATA_MAP
	DDX_FieldText(pDX,IDC_ID,m_pSet->m_studentid,m_pSet);
	DDX_FieldText(pDX,IDC_NAME,m_pSet->m_name,m_pSet);
	DDX_FieldText(pDX,IDC_ADDRESS,m_pSet->m_address,m_pSet);
	DDX_FieldText(pDX,IDC_TEL,m_pSet->m_tel,m_pSet);
}

BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CRecordView::PreCreateWindow(cs);
}

void CMyView::OnInitialUpdate()
{
	m_pSet = &GetDocument()->m_mySet;
	CRecordView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();

}

/////////////////////////////////////////////////////////////////////////////
// CMyView printing

BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CMyView diagnostics

#ifdef _DEBUG
void CMyView::AssertValid() const
{
	CRecordView::AssertValid();
}

void CMyView::Dump(CDumpContext& dc) const
{
	CRecordView::Dump(dc);
}

CMyDoc* CMyView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
	return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMyView database support
CRecordset* CMyView::OnGetRecordset()
{
	return m_pSet;
}


/////////////////////////////////////////////////////////////////////////////
// CMyView message handlers

void CMyView::OnRecordFirst()
{
	m_pSet->MoveFirst();
	UpdateData(false);
}

void CMyView::OnRecordPrev()
{
	if(!m_pSet->IsBOF())
	{
		m_pSet->MovePrev();
	}
	UpdateData(false);
}

void CMyView::OnRecordNext()
{
	if(!m_pSet->IsEOF())
	{
		m_pSet->MoveNext();
	}
	UpdateData(false);
}

void CMyView::OnRecordLast()
{
	m_pSet->MoveLast();
	UpdateData(false);
}

void CMyView::OnChangeId() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CRecordView::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(true);
	
}

void CMyView::OnChangeName() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CRecordView::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(true);
}

void CMyView::OnChangeAddress() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CRecordView::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(true);
	
}

void CMyView::OnChangeTel() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CRecordView::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(true);
	
}


void CMyView::OnADD() 
{
	// TODO: Add your control notification handler code here
	if(!m_pSet->CanAppend())
	{
		return ;
	}
	m_pSet->AddNew();
	m_pSet->m_studentid=m_nStudentid;
	m_pSet->m_name=m_nName;
	m_pSet->m_address=m_nAddress;
	m_pSet->m_tel=m_nTel;
	if(!m_pSet->Update())
	{
		AfxMessageBox("添加记录失败");
	}
	UpdateData(false);
	
}

void CMyView::OnUPDATE() 
{
	// TODO: Add your control notification handler code here
	if(!m_pSet->CanUpdate())
	{
		return ;
	}
	m_pSet->Edit();
	m_pSet->m_studentid=m_nStudentid;
	m_pSet->m_name=m_nName;
	m_pSet->m_address=m_nAddress;
	m_pSet->m_tel=m_nTel;
		if(!m_pSet->Update())
	{
		AfxMessageBox("修改记录失败");
	}
		UpdateData(false);

}

void CMyView::OnDEL() 
{
	// TODO: Add your control notification handler code here
	m_pSet->Delete();
	m_pSet->MoveNext();
	if(m_pSet->IsEOF())
		m_pSet->MoveLast();
	UpdateData(false);
}

⌨️ 快捷键说明

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