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

📄 mainfrm.cpp

📁 繁琐的家庭收支
💻 CPP
字号:
// MainFrm.cpp : CMainFrame 类的实现
//

#include "stdafx.h"
#include "HomeManage.h"

#include "MainFrm.h"
#include "ChildFrm.h"

#include "SystemSet.h"
#include "UserLogin.h"
#include "UserManage.h"
#include "BackupData.h"
#include "RestorData.h"

#include "ViewOutDian.h"
#include "ViewOutShui.h"
#include "ViewOutBook.h"
#include "ViewOutLi.h"
#include "ViewOutOther.h"
#include "ViewOutRiYong.h"
#include "ViewOutShengHuo.h"
#include "ViewOutWWW.h"
#include "ViewBillIn.h"
#include "ViewBillOut.h"
#include "ViewBillTotal.h"
#include "ViewInGong.h"
#include "ViewInLi.h"
#include "ViewInOther.h"
#include "ViewZhaiIn.h"
#include "ViewZhaiOut.h"
#include "ViewMemorandumBook.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CMainFrame

IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
	ON_WM_CREATE()
	// 全局帮助命令
	ON_COMMAND(ID_HELP_FINDER, &CMDIFrameWnd::OnHelpFinder)
	ON_COMMAND(ID_HELP, &CMDIFrameWnd::OnHelp)
	ON_COMMAND(ID_CONTEXT_HELP, &CMDIFrameWnd::OnContextHelp)
	ON_COMMAND(ID_DEFAULT_HELP, &CMDIFrameWnd::OnHelpFinder)

	ON_COMMAND(ID_USER_MANAGE, &CMainFrame::OnUserManage)
	ON_COMMAND(ID_SYSTEM_SET, &CMainFrame::OnSystemSet)
	ON_COMMAND(ID_OUT_DIAN, &CMainFrame::OnOutDian)
	ON_COMMAND(ID_OUT_SHUI, &CMainFrame::OnOutShui)
	ON_COMMAND(ID_OUT_SHENGHUO, &CMainFrame::OnOutShenghuo)
	ON_COMMAND(ID_OUT_RIYONG, &CMainFrame::OnOutRiyong)
	ON_COMMAND(ID_OUT_LI, &CMainFrame::OnOutLi)
	ON_COMMAND(ID_OUT_WWW, &CMainFrame::OnOutWww)
	ON_COMMAND(ID_OUT_BOOK, &CMainFrame::OnOutBook)
	ON_COMMAND(ID_OUT_OTHER, &CMainFrame::OnOutOther)
	ON_COMMAND(ID_IN_GONG, &CMainFrame::OnInGong)
	ON_COMMAND(ID_IN_LI, &CMainFrame::OnInLi)
	ON_COMMAND(ID_IN_OTHER, &CMainFrame::OnInOther)
	ON_COMMAND(ID_ZHAI_OUT, &CMainFrame::OnZhaiOut)
	ON_COMMAND(ID_ZHAI_IN, &CMainFrame::OnZhaiIn)
	ON_COMMAND(ID_DOTFORGET_TEXT, &CMainFrame::OnDotforgetText)
	ON_COMMAND(ID_BILL_IN, &CMainFrame::OnBillIn)
	ON_COMMAND(ID_BILL_OUT, &CMainFrame::OnBillOut)
	ON_COMMAND(ID_BILL_TOTAL, &CMainFrame::OnBillTotal)
	ON_COMMAND(ID_BACKUP_DATA, &CMainFrame::OnBackupData)
	ON_COMMAND(ID_RESTOR_DATA, &CMainFrame::OnRestorData)
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // 状态行指示器
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
};


// CMainFrame 构造/析构

CMainFrame::CMainFrame()
{
	EnableActiveAccessibility();
	// TODO: 在此添加成员初始化代码
}

CMainFrame::~CMainFrame()
{
}


int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("未能创建工具栏\n");
		return -1;      // 未能创建
	}

	m_imageList.Create(24, 24, TRUE | ILC_COLOR8, 6, 0);
	HICON hIcon = NULL;

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON3), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON4), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON5), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON6), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON7), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON10), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON8), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON9), IMAGE_ICON, 24, 24, 0);
	m_imageList.Add(hIcon);

	m_wndToolBar.GetToolBarCtrl().SetImageList(&m_imageList);

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("未能创建状态栏\n");
		return -1;      // 未能创建
	}

	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CMDIFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: 在此处通过修改
	//  CREATESTRUCT cs 来修改窗口类或样式

	//cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
	//	 | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE | WS_SYSMENU;

	return TRUE;
}


// CMainFrame 诊断

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CMDIFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CMDIFrameWnd::Dump(dc);
}

#endif //_DEBUG


// CMainFrame 消息处理程序
void CMainFrame::OnUserManage()
{
	CUserManage *pDlg;
	pDlg = new CUserManage;
	if (pDlg == NULL)
	{
		AfxMessageBox("系统内存太小!");
		return;
	}
	pDlg->DoModal();
	delete pDlg;
	return;
}

void CMainFrame::OnSystemSet()
{
	CSystemSet *pDlg;
	pDlg = new CSystemSet;
	if (pDlg == NULL)
	{
		AfxMessageBox("系统内存太小!");
		return;
	}
	pDlg->DoModal();
	delete pDlg;
	return;
}

void CMainFrame::OnOutDian()
{
	m_currentwin=1;//电费支出
	if(m_outdian!=NULL)
	{
		m_outdian->MDIActivate();
		return;
	}

	m_outdian=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutDian);
	if(!m_outdian->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outdian->ShowWindow(SW_SHOWMAXIMIZED);
	m_outdian->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutShui()
{
	m_currentwin=2;//水费支出
	if(m_outshui!=NULL)
	{
		m_outshui->MDIActivate();
		return;
	}

	m_outshui=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutShui);
	if(!m_outshui->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outshui->ShowWindow(SW_SHOWMAXIMIZED);
	m_outshui->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutShenghuo()
{
	m_currentwin=3;//生活支出
	if(m_outshenghuo!=NULL)
	{
		m_outshenghuo->MDIActivate();
		return;
	}

	m_outshenghuo=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutShengHuo);
	if(!m_outshenghuo->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outshenghuo->ShowWindow(SW_SHOWMAXIMIZED);
	m_outshenghuo->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutRiyong()
{
	m_currentwin=4;//日用支出
	if(m_outriyong!=NULL)
	{
		m_outriyong->MDIActivate();
		return;
	}

	m_outriyong=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutRiYong);
	if(!m_outriyong->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outriyong->ShowWindow(SW_SHOWMAXIMIZED);
	m_outriyong->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutLi()
{
	m_currentwin=5;//礼金支出
	if(m_outli!=NULL)
	{
		m_outli->MDIActivate();
		return;
	}

	m_outli=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutLi);
	if(!m_outli->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outli->ShowWindow(SW_SHOWMAXIMIZED);
	m_outli->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutWww()
{
	m_currentwin=6;//信息费支出
	if(m_outwww!=NULL)
	{
		m_outwww->MDIActivate();
		return;
	}

	m_outwww=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutWWW);
	if(!m_outwww->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outwww->ShowWindow(SW_SHOWMAXIMIZED);
	m_outwww->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutBook()
{
	m_currentwin=7;//报刊费支出
	if(m_outbook!=NULL)
	{
		m_outbook->MDIActivate();
		return;
	}

	m_outbook=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutBook);
	if(!m_outbook->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outbook->ShowWindow(SW_SHOWMAXIMIZED);
	m_outbook->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnOutOther()
{
	m_currentwin=8;//其它费用支出
	if(m_outother!=NULL)
	{
		m_outother->MDIActivate();
		return;
	}

	m_outother=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewOutOther);
	if(!m_outother->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_outother->ShowWindow(SW_SHOWMAXIMIZED);
	m_outother->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnInGong()
{
	m_currentwin=9;//工资收入
	if(m_ingong!=NULL)
	{
		m_ingong->MDIActivate();
		return;
	}

	m_ingong=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewInGong);
	if(!m_ingong->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_ingong->ShowWindow(SW_SHOWMAXIMIZED);
	m_ingong->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnInLi()
{
	m_currentwin=10;//礼金收入
	if(m_inli!=NULL)
	{
		m_inli->MDIActivate();
		return;
	}

	m_inli=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewInLi);
	if(!m_inli->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_inli->ShowWindow(SW_SHOWMAXIMIZED);
	m_inli->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnInOther()
{
	m_currentwin=11;//其它收入
	if(m_inother!=NULL)
	{
		m_inother->MDIActivate();
		return;
	}

	m_inother=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewInOther);
	if(!m_inother->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_inother->ShowWindow(SW_SHOWMAXIMIZED);
	m_inother->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnZhaiOut()
{
	m_currentwin=12;//借出收入
	if(m_zhaiout!=NULL)
	{
		m_zhaiout->MDIActivate();
		return;
	}

	m_zhaiout=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewZhaiOut);
	if(!m_zhaiout->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_zhaiout->ShowWindow(SW_SHOWMAXIMIZED);
	m_zhaiout->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnZhaiIn()
{
	m_currentwin=13;//借入登记
	if(m_zhaiin!=NULL)
	{
		m_zhaiin->MDIActivate();
		return;
	}

	m_zhaiin=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewZhaiIn);
	if(!m_zhaiin->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_zhaiin->ShowWindow(SW_SHOWMAXIMIZED);
	m_zhaiin->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnDotforgetText()
{
	m_currentwin=14;//备忘录
	if(m_dotforget!=NULL)
	{
		m_dotforget->MDIActivate();
		return;
	}

	m_dotforget=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewMemorandumBook);
	if(!m_dotforget->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_dotforget->ShowWindow(SW_SHOWMAXIMIZED);
	m_dotforget->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnBillIn()
{
	m_currentwin=15;//收入报表
	if(m_billin!=NULL)
	{
		m_billin->MDIActivate();
		return;
	}

	m_billin=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewBillIn);
	if(!m_billin->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_billin->ShowWindow(SW_SHOWMAXIMIZED);
	m_billin->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnBillOut()
{
	m_currentwin=16;//支出报表
	if(m_billout!=NULL)
	{
		m_billout->MDIActivate();
		return;
	}

	m_billout=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewBillOut);
	if(!m_billout->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_billout->ShowWindow(SW_SHOWMAXIMIZED);
	m_billout->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnBillTotal()
{
	m_currentwin=17;//结算报表
	if(m_billtotal!=NULL)
	{
		m_billtotal->MDIActivate();
		return;
	}

	m_billtotal=new CChildFrame();
	CCreateContext context;
	context.m_pNewViewClass=RUNTIME_CLASS(CViewBillTotal);
	if(!m_billtotal->LoadFrame(IDR_HomeManageTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
		return;
	m_billtotal->ShowWindow(SW_SHOWMAXIMIZED);
	m_billtotal->InitialUpdateFrame(NULL,true);
}

void CMainFrame::OnBackupData()
{
	CBackupData *pDlg;
	pDlg = new CBackupData;
	if (pDlg == NULL)
	{
		AfxMessageBox("系统内存太小!");
		return;
	}
	pDlg->DoModal();
	delete pDlg;
	return;
}

void CMainFrame::OnRestorData()
{
	CRestorData *pDlg;
	pDlg = new CRestorData;
	if (pDlg == NULL)
	{
		AfxMessageBox("系统内存太小!");
		return;
	}
	pDlg->DoModal();
	delete pDlg;
	return;
}

⌨️ 快捷键说明

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