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

📄 incomewizarddlg.h

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

#include "DataClass.h"
#include "afxwin.h"
#include "BmpProgCtrl.h"
#define INCOME_STEP1                      1
#define BANKCOUNT_STEP2                   2
#define BANK_STEP3                        3
#define BANK1_STEP4                       4
#define BANK2_STEP5                       5
#define BANK3_STEP6                       6
#define BANK4_STEP7                       7
#define OUTCOME_STEP8                     8
#define TANGIBLECOUNT_STEP9               9
#define TANGIBLE_STEP10                   10
#define TANGIBLE1_STEP11                  11
#define TANGIBLE2_STEP12                  12
#define TANGIBLE3_STEP13                  13
#define TANGIBLE4_STEP14                  14
#define INVESTCOUNT_STEP15                15
#define INVEST_STEP16                     16
#define INVEST1_STEP17                    17
#define INVEST2_STEP18                    18
#define INVEST3_STEP19                    19
#define INVEST4_STEP20                    20
#define BORROWCOUNT_STEP21                21
#define BORROW_STEP22                     22
#define BORROW1_STEP23                    23
#define BORROW2_STEP24                    24
#define BORROW3_STEP25                    25
#define BORROW4_STEP26                    26
#define FINISH_STEP27                     27
#define CASH_STEP                         28
#define OTHERCONSUM_STEP                  8
//下面是登记各个操作共有多少个及是否完成的标志的数据结构
struct tagCount
{
	int m_iBankCount;//共有多少个银行操作
	int m_iCurBank;//当前的操作
	int m_iBorrowCount;//共有多少个借贷操作
	int m_iCurBorrow;//当前操作
	int m_iInvestCount;//共有多少个投资操作
	int m_iCurInvest;//当前操作
	int m_iTangibleCount;//共有多少个购买物品操作
	int m_iCurTangible;//当前操作
};
// CIncomeWizardDlg 对话框
struct tagFlow
{
	bool m_bCash;
	double m_dCashAmount;
	bool m_bBank;
	double m_dBankAmount;
	bool m_bInvest;
	double m_dInvestAmount;
	bool m_bOutcome;
	double m_dOutcomeAmount;
	bool m_bTangible;
	double m_dTangibleAmount;
	bool m_bOtherConsum;
	double m_dOtherConsumAmount;
	bool m_bBorrow;
	double m_dBorrowAmount;
};
class CIncomeWizardDlg : public CDialog
{
	DECLARE_DYNAMIC(CIncomeWizardDlg)

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

// 对话框数据
	enum { IDD = IDD_INCOME_WIZARD_DLG };
	protected:


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:
	virtual BOOL OnInitDialog();
public:
	afx_msg void OnDestroy();
public:
	afx_msg void OnBnClickedFinish();
public:
	afx_msg void OnBnClickedPrev();
public:
	afx_msg void OnBnClickedNext();
public:
	afx_msg void OnBnClickedCancel();
//////////////////////////////////////
	//该向导的所有页
	CIncomeWizardIncomeDlg * m_pIncome_Step1 ;
	CIncomeWizardBankCountDlg *m_pBankCount_Step2;
	CIncomeWizardBankDlg * m_pBank_Step3 ;
	CIncomeWizardBankDlg * m_pBank1_Step4 ;
	CIncomeWizardBankDlg * m_pBank2_Step5 ;
	CIncomeWizardBankDlg * m_pBank3_Step6 ;
	CIncomeWizardBankDlg * m_pBank4_Step7 ;
    CIncomeWizardOutcomeDlg * m_pOutcome_Step8;
	CIncomeWizardTangibleCountDlg * m_pTangibleCount_Step9;
	CIncomeWizardTangibleDlg * m_pTangible_Step10;
	CIncomeWizardTangibleDlg * m_pTangible1_Step11;
	CIncomeWizardTangibleDlg * m_pTangible2_Step12;
	CIncomeWizardTangibleDlg * m_pTangible3_Step13;
	CIncomeWizardTangibleDlg * m_pTangible4_Step14;
	CIncomeWizardInvestCountDlg * m_pInvestCount_Step15;
	CIncomeWizardInvestDlg * m_pInvest_Step16;
	CIncomeWizardInvestDlg * m_pInvest1_Step17;
	CIncomeWizardInvestDlg * m_pInvest2_Step18;
	CIncomeWizardInvestDlg * m_pInvest3_Step19;
	CIncomeWizardInvestDlg * m_pInvest4_Step20;
	CIncomeWizardBorrowCountDlg * m_pBorrowCount_Step21;
	CIncomeWizardBorrowDlg * m_pBorrow_Step22;
	CIncomeWizardBorrowDlg * m_pBorrow1_Step23;
	CIncomeWizardBorrowDlg * m_pBorrow2_Step24;
	CIncomeWizardBorrowDlg * m_pBorrow3_Step25;
	CIncomeWizardBorrowDlg * m_pBorrow4_Step26;
	CIncomeWizardFinishDlg * m_pFinish_Step27;
////////////////////////////////////////////////////
	//下面是用于登记收入流向各个操作个数的数据
	tagCount *m_pCount;
	tagFlow  *m_pFlow;
	//下面是处理各个下一步的子对话框的函数
	void IncomeNext();
	void BankCountNext();
	void BankNext();
	void Bank1Next();
	void Bank2Next();
	void Bank3Next();
	void Bank4Next();
	void OutcomeNext();
	void TangibleCountNext();
	void TangibleNext();
	void Tangible1Next();
	void Tangible2Next();
	void Tangible3Next();
	void Tangible4Next();
	void InvestCountNext();
	void InvestNext();
	void Invest1Next();
	void Invest2Next();
	void Invest3Next();
	void Invest4Next();
	void BorrowCountNext();
	void BorrowNext();
	void Borrow1Next();
	void Borrow2Next();
	void Borrow3Next();
	void Borrow4Next();
	///////////////////////////////////////////////////////////////////////
	//这个向导的功能超级强大,代码可能超过几千行,为了简化,下面是辅助函数
	////用来显示最后一步中的列表的函数
	void InsertInfo(CString Kind, CString Name, double Amount,UINT nStep);
	void DeleteInfo(UINT nStep);
	//下面这个函数用来在下一步的时候修改信息
	void UpdateStep(UINT nStep);
	//下面这个函数用来列出所有的前步骤信息
	void ListAllBank();
	void ListAllTangible();
	void ListOtherConsum();
	void ListAllInvest();
	void ListAllBorrow();
	void ListCash();
	void ListIncome();
	double GetBankAmount();
	double GetOutcomeAmount();
	double GetOtherConsumAmount();
	double GetTangibleAmount();
	double GetInvestAmount();
	double GetBorrowAmount();
	double GetCashAmount();
	//数据库存储
	CIncome   m_pIncomeSet;
	CBank     m_pBankSet;
	COutcome  m_pOutcomeSet;
	CTangible m_pTangibleSet;
	CInvest   m_pInvestSet;
	CBorrow   m_pBorrowSet;
	CCash     m_pCashSet;
    void SaveIncome(CIncomeWizardIncomeDlg *dlg);
	void SaveBank(CIncomeWizardBankDlg *dlg);
	void SaveOutcome(CIncomeWizardOutcomeDlg *dlg);
	void SaveTangible(CIncomeWizardTangibleDlg *dlg);
	void SaveInvest(CIncomeWizardInvestDlg *dlg);
	void SaveBorrow(CIncomeWizardBorrowDlg *dlg);
	void SaveCash();
	void SaveAllBank();
	void SaveAllOutcome();
	void SaveAllTangible();
	void SaveAllInvest();
	void SaveAllBorrow();
	void SaveAllCash();
	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 + -