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

📄 myinfopage.cpp

📁 用Visual c++.net实现电子商务的实现(内含源代码)
💻 CPP
字号:
// MyInfoPage.cpp : 实现文件
//

#include "stdafx.h"
#include "ECClient.h"
#include "MyInfoPage.h"
#include ".\myinfopage.h"
#include "ClientSheetDlg.h"
// CMyInfoPage 对话框

int buy_item_num = 0;//用户购书次数
int buy_item_pos = 0;//界面显示的购书位置
CList<BuyItem,BuyItem&> buy_book_list;//购书链表

IMPLEMENT_DYNAMIC(CMyInfoPage, CPropertyPage)
CMyInfoPage::CMyInfoPage()
	: CPropertyPage(CMyInfoPage::IDD)

{
}

CMyInfoPage::~CMyInfoPage()
{
}

void CMyInfoPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CMyInfoPage, CPropertyPage)
	ON_BN_CLICKED(IDC_BUTTON_DEL, OnBnClickedButtonDel)
	ON_BN_CLICKED(IDC_BUTTON_NEXT, OnBnClickedButtonNext)
END_MESSAGE_MAP()


// CMyInfoPage 消息处理程序

BOOL CMyInfoPage::OnInitDialog()
{
	CPropertyPage::OnInitDialog();

	// TODO:  在此添加额外的初始化
	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

BOOL CMyInfoPage::OnSetActive()
{
	// TODO: 在此添加专用代码和/或调用基类

	return CPropertyPage::OnSetActive();
}
int CMyInfoPage::SetUserInfo(User& user)//显示用户信息
{
	SetDlgItemText(IDC_EDIT_NAME,user.name);
	SetDlgItemInt(IDC_EDIT_ID,user.id);
	SetDlgItemText(IDC_EDIT_PASSWORD,user.password);
	return 0;
}
void CMyInfoPage::OnBnClickedButtonDel()
{
	// TODO: 在此添加控件通知处理程序代码	
    CClientSheetDlg* sheetDlg = (CClientSheetDlg*)GetParent();
	sheetDlg->DropBook(GetDlgItemInt(IDC_EDIT_BUY_BOOK_ID));//退书        
}

int CMyInfoPage::SetBuyBookInfo(BuyItem& buyitem)
{	
	//把用户本人的购书信息保存	
	buy_book_list.AddTail(buyitem);//加入购书链表

	if(buy_item_num==0)//默认显示第一条购书记录
	{		
		SetDlgItemText(IDC_EDIT_BUY_BOOK_NAME,buy_book_list.GetHead().book.book_name);
		SetDlgItemInt(IDC_EDIT_BUY_BOOK_ID,buy_book_list.GetHead().book.book_id);
		SetDlgItemInt(IDC_EDIT_BUY_NUM,buy_book_list.GetHead().buy_num);
	}
	buy_item_num++;
	return 0;
}

int CMyInfoPage::DropBook(BuyItem& buyitem)//退书成功
{
	CString str;
	str.Format("退书成功,你退的书是:%s,共%d册",buyitem.book.book_name,buyitem.buy_num);
	AfxMessageBox(str);
	//从界面上去掉
	if(GetDlgItemInt(IDC_EDIT_BUY_BOOK_ID)==buyitem.book.book_id)
	{
		SetDlgItemText(IDC_EDIT_BUY_BOOK_NAME,"");
		SetDlgItemText(IDC_EDIT_BUY_BOOK_ID,"");
		SetDlgItemText(IDC_EDIT_BUY_NUM,"");
	}
	//从购书链表中删除
	for(int i=0;i<buy_item_num-1;i++)
	{//找到退购的书目,然后从链表中删除
		if(buy_book_list.GetAt(buy_book_list.FindIndex(i)).book.book_id==buyitem.book.book_id)
		{
			buy_book_list.RemoveAt(buy_book_list.FindIndex(i));
		}
	}
	return 0;
}

void CMyInfoPage::OnBnClickedButtonNext()//显示下条购书记录
{
	// TODO: 在此添加控件通知处理程序代码
	//循环显示购书记录
    if(buy_item_pos==0)//假如当前用户没有购买书籍
		return;
	if(buy_item_pos==(buy_item_num-1)&&buy_item_pos!=0)//是否是最后一条记录
	{
		buy_item_pos = 0;
		DispBuyBookInfo(buy_item_pos);
	}    
	DispBuyBookInfo(++buy_item_pos); //显示第buy_item_pos条购书记录

}

int CMyInfoPage::DispBuyBookInfo(int buy_item)//显示购书信息
{
	if(buy_item==buy_item_num)
	{
		AfxMessageBox("已到最后一条");
		return -1;
	}
	//在界面上显示
	SetDlgItemText(IDC_EDIT_BUY_BOOK_NAME,buy_book_list.GetAt(buy_book_list.FindIndex(buy_item)).book.book_name);
	SetDlgItemInt(IDC_EDIT_BUY_BOOK_ID,buy_book_list.GetAt(buy_book_list.FindIndex(buy_item)).book.book_id);
	SetDlgItemInt(IDC_EDIT_BUY_NUM,buy_book_list.GetAt(buy_book_list.FindIndex(buy_item)).buy_num);
	return 0;
}

⌨️ 快捷键说明

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