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

📄 adressbook_v0view.cpp

📁 用vC++6.0和SQL Server 2000做的个人通讯录。写源码的时候太急
💻 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 + -