📄 adressbook_v0view.cpp
字号:
// AdressBook_v0View.cpp : implementation of the CAdressBook_v0View class
//
#include "stdafx.h"
#include "AdressBook_v0.h"
#include "AdressBook_v0Set.h"
#include "AdressBook_v0Doc.h"
#include "AdressBook_v0View.h"
#include "AddDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAdressBook_v0View
IMPLEMENT_DYNCREATE(CAdressBook_v0View, CRecordView)
BEGIN_MESSAGE_MAP(CAdressBook_v0View, CRecordView)
//{{AFX_MSG_MAP(CAdressBook_v0View)
ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)
ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_COMMAND(ID_RECORD_FIRST, OnRecordFirst)
ON_COMMAND(ID_RECORD_LAST, OnRecordLast)
ON_COMMAND(ID_RECORD_NEXT, OnRecordNext)
ON_COMMAND(ID_RECORD_PREV, OnRecordPrev)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdressBook_v0View construction/destruction
CAdressBook_v0View::CAdressBook_v0View()
: CRecordView(CAdressBook_v0View::IDD)
{
//{{AFX_DATA_INIT(CAdressBook_v0View)
m_pSet = NULL;
m_type = _T("");
m_name = _T("");
m_call = _T("");
m_mobile = _T("");
m_birth = _T("");
m_mail = _T("");
m_adress = _T("");
m_qq = _T("");
m_id = _T("");
//}}AFX_DATA_INIT
// TODO: add construction code here
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1); ///加载位图
m_brushBackground.CreatePatternBrush(&bmp); ///创建位图画刷
}
CAdressBook_v0View::~CAdressBook_v0View()
{
}
//控件和成员变量的数据交换
void CAdressBook_v0View::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdressBook_v0View)
DDX_Control(pDX, IDC_BUTTON_ADD, m_add);
DDX_Control(pDX, IDC_BUTTON_DELETE, m_delete);
DDX_Control(pDX, IDC_BUTTON_MODIFY, m_modify);
DDX_Text(pDX, IDC_EDIT_TYPE, m_type);
DDX_Text(pDX, IDC_EDIT_NAME, m_name);
DDX_Text(pDX, IDC_EDIT_CALL, m_call);
DDX_Text(pDX, IDC_EDIT_MOBILE, m_mobile);
DDX_Text(pDX, IDC_EDIT_BIRTH, m_birth);
DDX_Text(pDX, IDC_EDIT_MAIL, m_mail);
DDX_Text(pDX, IDC_EDIT_ADDRESS, m_adress);
DDX_Text(pDX, IDC_EDIT_QQ, m_qq);
DDX_Text(pDX, IDC_EDIT_ID, m_id);
//}}AFX_DATA_MAP
}
//可以改变视图的显示风格
BOOL CAdressBook_v0View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CRecordView::PreCreateWindow(cs);
}
//视图显示初始化
void CAdressBook_v0View::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_adressBook_v0Set;
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
try
{
//创建数据集并打开它:
m_pSet=new CAdressBook_v0Set();
m_pSet->Open();
//用数据集中的数据更新视图
RefreshData();
}
catch(CDBException* pe)
{
//发生数据异常后就报告相应错误
AfxMessageBox(pe->m_strError);
pe->Delete();
}
}
/////////////////////////////////////////////////////////////////////////////
// CAdressBook_v0View diagnostics
#ifdef _DEBUG
void CAdressBook_v0View::AssertValid() const
{
CRecordView::AssertValid();
}
void CAdressBook_v0View::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CAdressBook_v0Doc* CAdressBook_v0View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CAdressBook_v0Doc)));
return (CAdressBook_v0Doc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CAdressBook_v0View database support//数据库支持
//获得数据
CRecordset* CAdressBook_v0View::OnGetRecordset()
{
return m_pSet;
}
/////////////////////////////////////////////////////////////////////////////
// CAdressBook_v0View message handlers//消息处理
//显示第一条记录
void CAdressBook_v0View::OnRecordFirst()
{
// TODO: Add your command handler code here
//移动数据集到第一条记录
m_pSet->MoveFirst();
//更新视图
RefreshData();
}
//最后一条...
void CAdressBook_v0View::OnRecordLast()
{
// TODO: Add your command handler code here
m_pSet->MoveLast();
RefreshData();
}
//下一条...
void CAdressBook_v0View::OnRecordNext()
{
// TODO: Add your command handler code here
m_pSet->MoveNext();
RefreshData();
}
//上一条...
void CAdressBook_v0View::OnRecordPrev()
{
// TODO: Add your command handler code here
m_pSet->MovePrev();
RefreshData();
}
//单击"添加新纪录"按钮的响应函数
void CAdressBook_v0View::OnButtonAdd()
{
/* try
{
//设置数据集为添加记录状态
m_pSet->AddNew();
//用控件的当前内容更新成员变量
UpdateData(TRUE);
m_pSet->m_column1=m_id;
m_pSet->m_column2=m_name;
m_pSet->m_column3=m_type;
m_pSet->m_column4=m_call;
m_pSet->m_column5=m_mobile;
m_pSet->m_column6=m_qq;
m_pSet->m_column7=m_birth;
m_pSet->m_column8=m_mail;
m_pSet->m_column9=m_adress;
//写入!
m_pSet->Update();
//更新数据集
m_pSet->Requery();
MessageBox("新纪录添加成功!");
}
catch(CDBException* pe)
{
//错误报告
AfxMessageBox(pe->m_strError);
pe->Delete();
}
*/
CAddDlg adlg;
adlg.DoModal();
m_pSet->Close();
m_pSet=new CAdressBook_v0Set();
m_pSet->Open();
RefreshData();
}
//单击"删除纪录"按钮
void CAdressBook_v0View::OnButtonDelete()
{
try
{
//设置数据集为删除状态
m_pSet->Delete();
//更新数据集
m_pSet->Requery();
//更新视图
RefreshData();
MessageBox("删除成功!");
}
catch(CDBException* pe)
{
//错误报告
AfxMessageBox(pe->m_strError);
pe->Delete();
}
}
//单击"修改纪录"按钮的响应
void CAdressBook_v0View::OnButtonModify()
{
try
{
//设置数据集为修改状态
m_pSet->Edit();
//用控件的当前内容更新成员变量
UpdateData(TRUE);
m_pSet->m_column1=m_id;
m_pSet->m_column2=m_name;
m_pSet->m_column3=m_type;
m_pSet->m_column4=m_call;
m_pSet->m_column5=m_mobile;
m_pSet->m_column6=m_qq;
m_pSet->m_column7=m_birth;
m_pSet->m_column8=m_mail;
m_pSet->m_column9=m_adress;
//写入!
m_pSet->Update();
MessageBox("修改成功!");
}
catch(CDBException* pe)
{
//错误报告
AfxMessageBox(pe->m_strError);
pe->Delete();
}
}
//用数据集当前内容更新视图
void CAdressBook_v0View::RefreshData()
{
//将数据集的内容赋给相应的成员变量
m_id=m_pSet->m_column1;
m_name=m_pSet->m_column2;
m_type=m_pSet->m_column3;
m_call=m_pSet->m_column4;
m_mobile=m_pSet->m_column5;
m_qq=m_pSet->m_column6;
m_birth=m_pSet->m_column7;
m_mail=m_pSet->m_column8;
m_adress=m_pSet->m_column9;
//更新视图显示
UpdateData(FALSE);
}
void CAdressBook_v0View::OnDraw(CDC* pDC)
{
// TODO: Add your specialized code here and/or call the base class
CRect rect;
GetClientRect(rect);///取得客户区域
pDC->FillRect(rect,&m_brushBackground); ///用背景画刷填充区
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -