数据库课程设计详细过程 需求分析 详细设计

源代码在线查看: 图书出版管理系统view.cpp

软件大小: 168 K
上传用户: csytml
关键词: 数据库 详细过程 详细设计
下载地址: 免注册下载 普通下载 VIP

相关代码

				// 图书出版管理系统View.cpp : implementation of the CMyView class
				//
				
				#include "stdafx.h"
				#include "图书出版管理系统.h"
				
				#include "MyDlg1.h"
				#include "MyDlg2.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_BN_CLICKED(IDC_BUTTONADDNEW, OnButtonaddnew)
					ON_BN_CLICKED(IDC_BUTTONDELDTE, OnButtondeldte)
					ON_BN_CLICKED(IDC_BUTTONUPDATE, OnButtonupdate)
					ON_BN_CLICKED(IDC_BUTTONFIRST, OnButtonfirst)
					ON_BN_CLICKED(IDC_BUTTONNEXT, OnButtonnext)
					ON_BN_CLICKED(IDC_BUTTONPREV, OnButtonprev)
					ON_BN_CLICKED(IDC_BUTTONLAST, OnButtonlast)
					ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
					ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
					//}}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;
					//}}AFX_DATA_INIT
					// TODO: add construction code here
				
				}
				
				CMyView::~CMyView()
				{
				}
				
				void CMyView::DoDataExchange(CDataExchange* pDX)
				{
					CRecordView::DoDataExchange(pDX);
					//{{AFX_DATA_MAP(CMyView)
					DDX_FieldText(pDX, IDC_EDIT_BH, m_pSet->m_bookbh, m_pSet);
					DDX_FieldText(pDX, IDC_EDITAUTHER, m_pSet->m_AUTHER, m_pSet);
					DDX_FieldText(pDX, IDC_EDITBOOKADDRESS, m_pSet->m_bookupaddress, m_pSet);
					DDX_FieldText(pDX, IDC_EDITBOOKNAME, m_pSet->m_bookcaption, m_pSet);
					DDX_FieldText(pDX, IDC_EDITBOOKPRICE, m_pSet->m_bookprice, m_pSet);
					DDX_FieldText(pDX, IDC_EDITFNH, m_pSet->m_bookfnh, m_pSet);
					DDX_FieldText(pDX, IDC_EDITPUBNAME, m_pSet->m_bookpubsher, m_pSet);
					DDX_FieldText(pDX, IDC_EDITISBN, m_pSet->m_ISBN, m_pSet);
					//}}AFX_DATA_MAP
				}
				
				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::OnButtonaddnew() 
				{
					// TODO: Add your control notification handler code here
					m_pSet->AddNew();
					UpdateData(FALSE);
				}
				//删除记录按钮代码
				/////////////////////////////
				void CMyView::OnButtondeldte() 
				{
					// TODO: Add your control notification handler code here
					m_pSet->Delete();
					m_pSet->MoveNext();
					if(m_pSet->IsEOF())
						m_pSet->MoveLast();
					if(m_pSet->IsBOF())
						m_pSet->SetFieldNull(NULL);
					UpdateData(FALSE);
				}
				//刷新按钮代码
				/////////////////////////////
				void CMyView::OnButtonupdate() 
				{
					// TODO: Add your control notification handler code here
					UpdateData();
					m_pSet->Update();
					m_pSet->Requery();
					// m_pSet->CancelUpdate();
				}
				//第一条按钮代码
				///////////////////////////
				void CMyView::OnButtonfirst() 
				{
					// TODO: Add your control notification handler code here
					m_pSet->MoveFirst();
					if(m_pSet->IsBOF())
					{
						MessageBox("记录已经在第一条");
				    	m_pSet->MoveNext();
				       	UpdateData(FALSE);
				        return;
					}
					UpdateData(FALSE);
				}
				//下一条按钮代码
				///////////////////////////
				void CMyView::OnButtonnext() 
				{
					// TODO: Add your control notification handler code here
						m_pSet->MoveNext();
				        if(m_pSet->IsEOF())
					{
						MessageBox("记录已经在最后一条");
				    	m_pSet->MovePrev();
				       	UpdateData(FALSE);
				        return;
					}
				     UpdateData(FALSE);
				}
				//前一条按钮代码
				///////////////////////////
				void CMyView::OnButtonprev() 
				{
					// TODO: Add your control notification handler code here
						m_pSet->MovePrev();
				    if(m_pSet->IsBOF())
					{
						MessageBox("记录已经在第一条");
				    	m_pSet->MoveNext();
				       	UpdateData(FALSE);
				        return;
					}
				     UpdateData(FALSE);
				}
				//最后一条按钮代码 
				////////////////////////////////////
				void CMyView::OnButtonlast() 
				{
					// TODO: Add your control notification handler code here
					m_pSet->MoveLast();
					if(m_pSet->IsEOF())
					{
						MessageBox("记录已经在最后一条");
				    	m_pSet->MovePrev();
				       	UpdateData(FALSE);
				        return;
					}
				     UpdateData(FALSE);
				}
				//显示图书销售对话框代码
				///////////////////////////////
				void CMyView::OnRadio1() 
				{
					// TODO: Add your control notification handler code here
					CMyDlg1 MyDlg1;
					MyDlg1.DoModal();
				}
				//显示图书分类对话框代码
				////////////////////////////////////
				void CMyView::OnRadio2() 
				{
					// TODO: Add your control notification handler code here
					CMyDlg2 MyDlg2;
				    MyDlg2.DoModal();
				}
							

相关资源