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

📄 outcomewizarddlg1.h

📁 这是一个学生信息管理系统
💻 H
字号:
#pragma once //这些代码由王昌栋编写,未经允许,不得随便改动,如有问题欢迎提出!
#include "afxwin.h"
#include "BmpProgCtrl.h"
#include "OutcomeWizardOutcomeDlg.h"
#include "IncomeWizardBankCountDlg.h"
#include "IncomeWizardBankDlg.h"
#include "IncomeWizardTangibleCountDlg.h"
#include "IncomeWizardTangibleDlg.h"
#include "IncomeWizardFinishDlg.h"
#include "Bank.h"
#include "Outcome.h"
#include "Tangible.h"
#include "Cash.h"

#include "DataClass.h"
#include "tagStack.h"
#define   OUTCOME_STEP1            1
#define   TANGIBLECOUNT_STEP2      2
#define   TANGIBLE_STEP3           3
#define   TANGIBLE1_STEP4          4
#define   TANGIBLE2_STEP5          5
#define   TANGIBLE3_STEP6          6
#define   TANGIBLE4_STEP7          7
#define   BANKCOUNT_STEP8          8
#define   BANK_STEP9               9
#define   BANK1_STEP10             10
#define   BANK2_STEP11             11
#define   BANK3_STEP12             12
#define   BANK4_STEP13             13
#define   FINISH_STEP14            14
#define   OUTCOME_CASH_STEP        15
#define   OTHERCONSUM_STEP2         1
//下面是登记各个操作共有多少个及是否完成的标志的数据结构
struct tagOutcomeCount
{
	int m_iBankCount;//共有多少个银行操作
	int m_iCurBank;//当前的操作
	int m_iTangibleCount;//共有多少个购买物品操作
	int m_iCurTangible;//当前操作
};
struct tagSource
{
	bool m_bBank;
	double m_dBankAmount;
	bool m_bCash;
	double m_dCashAmount;
};
// CIncomeWizardDlg 对话框
struct tagOutcomeFlow
{
	bool m_bTangible;
	double m_dTangibleAmount;
	bool m_bOtherConsum;
	double m_dOtherConsumAmount;
};
// COutcomeWizardDlg1 对话框

class COutcomeWizardDlg1 : public CDialog
{
	DECLARE_DYNAMIC(COutcomeWizardDlg1)

public:
	COutcomeWizardDlg1(CWnd* pParent = NULL);   // 标准构造函数
	virtual ~COutcomeWizardDlg1();

// 对话框数据
	enum { IDD = IDD_OUTCOME_WIZARD_DLG };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
public:
	void SetWizButton(UINT uFlag);//设置不同的按钮的可用性
	void ShowPage(UINT nPos);//显示各个页面
	void AddPage(CDialog* pDialog, UINT nID);//添加各个页面
	void SetCaption(UINT nPos);
	UINT nPageCount;//页的总数
	UINT nCurrentPage; //当前页
typedef struct PAGELINK{
	UINT nNum;
	CDialog* pDialog;
	struct PAGELINK* Next;
};
	PAGELINK* pPageLink; //表头,用来连接所有的页
    tagStack <int> LinkStack;//栈,用来保存页的路径
	CRect rectPage;
public:
	afx_msg void OnBnClickedPrev();
public:
	afx_msg void OnBnClickedNext();
public:
	afx_msg void OnBnClickedFinish();
public:
	afx_msg void OnBnClickedCancel();
public:
	virtual BOOL OnInitDialog();
public:
	afx_msg void OnDestroy();
	COutcomeWizardOutcomeDlg * m_pOutcome_Step1 ;
	CIncomeWizardTangibleCountDlg * m_pTangibleCount_Step2;
	CIncomeWizardTangibleDlg * m_pTangible_Step3;
	CIncomeWizardTangibleDlg * m_pTangible1_Step4;
	CIncomeWizardTangibleDlg * m_pTangible2_Step5;
	CIncomeWizardTangibleDlg * m_pTangible3_Step6;
	CIncomeWizardTangibleDlg * m_pTangible4_Step7;
	CIncomeWizardBankCountDlg *m_pBankCount_Step8;
	CIncomeWizardBankDlg * m_pBank_Step9 ;
	CIncomeWizardBankDlg * m_pBank1_Step10 ;
	CIncomeWizardBankDlg * m_pBank2_Step11 ;
	CIncomeWizardBankDlg * m_pBank3_Step12 ;
	CIncomeWizardBankDlg * m_pBank4_Step13 ;
	CIncomeWizardFinishDlg * m_pFinish_Step14;
////////////////////////////////////////////////////
	//下面是用于登记收入流向各个操作个数的数据
	tagOutcomeCount *m_pCount;
	tagOutcomeFlow  *m_pFlow;
	tagSource *m_pSource;
	//下面是处理各个下一步的子对话框的函数
	void OutcomeNext();
	void TangibleCountNext();
	void TangibleNext();
	void Tangible1Next();
	void Tangible2Next();
	void Tangible3Next();
	void Tangible4Next();
	void BankCountNext();
	void BankNext();
	void Bank1Next();
	void Bank2Next();
	void Bank3Next();
	void Bank4Next();
	///////////////////////////////////////////////////////////////////////
	//这个向导的功能超级强大,代码可能超过几千行,为了简化,下面是辅助函数
	////用来显示最后一步中的列表的函数
	void InsertInfo(CString Kind, CString Name, double Amount,UINT nStep);
	void DeleteInfo(UINT nStep);
	//下面这个函数用来在下一步的时候修改信息
	void UpdateStep(UINT nStep);
	//下面这个函数用来列出所有的前步骤信息
	void ListOutcome();
	void ListAllTangible();
	void ListOtherConsum();
	void ListAllBank();
	void ListCash();
	double GetBankAmount();
	double GetOtherConsumAmount();
	double GetTangibleAmount();
	double GetCashAmount();
	//数据库存储
	CBank     m_pBankSet;
	COutcome  m_pOutcomeSet;
	CTangible m_pTangibleSet;
	CCash     m_pCashSet;
	void SaveBank(CIncomeWizardBankDlg *dlg);
	void SaveOutcome(COutcomeWizardOutcomeDlg *dlg);
	void SaveTangible(CIncomeWizardTangibleDlg *dlg);
	void SaveCash();
	void SaveAllBank();
	void SaveAllTangible();
	void SaveAllCash();
	double GetDatabaseCash();//获取数据库中的现金量
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
	COLORREF m_backcolor;
	CBrush m_brush;
};

⌨️ 快捷键说明

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