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

📄 mainfrm.cpp

📁 学生信息管理系统
💻 CPP
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "StudentInfo.h"
#include  "Login.h"
#include "MainFrm.h"
#include "OperatorView.h"
#include "StudentInfoView.h"
#include "ModifyPassDlg.h"
#include "CouseWnd.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_COMMAND(ID_LOGIN, OnLogin)
	ON_COMMAND(ID_LOGINOFF, OnLoginoff)
	ON_COMMAND(ID_PASSWORD, OnPassword)
	ON_COMMAND(ID_SCROD, OnCrode)
	ON_COMMAND(ID_EXIT, OnExit)
	ON_COMMAND(ID_STUDENT, OnStudent)
	ON_COMMAND(ID_YONGHU, OnYonghu)
	ON_WM_CLOSE()
	ON_UPDATE_COMMAND_UI(ID_LOGIN, OnUpdateLogin)
	ON_UPDATE_COMMAND_UI(ID_LOGINOFF, OnUpdateLoginoff)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
};

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	m_pStudentInfo = NULL;
	m_pOperator = NULL;
}

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("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	m_wndToolBar.SetColorToolBar(60,IDB_TOOLBAR,IDB_TOOLBAR,IDB_TOOLBAR);

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

	// TODO: Delete these three lines if you don't want the toolbar to
	//  be dockable
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	m_wndToolBar.GetToolBarCtrl().SetState(ID_BUTTON66,      TBSTATE_HIDDEN);
	m_wndToolBar.GetToolBarCtrl().SetState(ID_SMALL22,       TBSTATE_HIDDEN);
	m_wndToolBar.GetToolBarCtrl().SetState(ID_BUTTON1,       TBSTATE_HIDDEN);
    this->SetToolBarHide();
    this->SetWindowText("人事管理系统---未登陆");
	
	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CMDIFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs
    cs.cx = 800;
	cs.cy = 600;
	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

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

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

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers


void CMainFrame::OnLogin() 
{
	CLogin dlg;
	dlg.DoModal();	
	if(dlg.m_bClick)
	{
	    m_bOnLive = dlg.m_bLoginOn;
	    m_strPass = dlg.m_ePassword;
	    m_strUserName = dlg.m_eUserName;
	    m_strID = dlg.m_strStuID;
	    if(m_bOnLive)
		{
		    SetToolBarShow();
		}
	    else
		{
		    SetToolBarHide();
		}
	}
}

void CMainFrame::SetToolBarHide()
{
    m_wndToolBar.GetToolBarCtrl().SetState(ID_LOGIN,      TBSTATE_ENABLED);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_STUDENT,    TBSTATE_HIDDEN);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_YONGHU,     TBSTATE_HIDDEN);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_PASSWORD,   TBSTATE_HIDDEN);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_LOGINOFF,   TBSTATE_HIDDEN);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_SCROD,      TBSTATE_HIDDEN);

	RecalcLayout( );
}

void CMainFrame::SetToolBarShow()
{
    m_wndToolBar.GetToolBarCtrl().SetState(ID_LOGIN,      TBSTATE_HIDDEN);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_STUDENT,    TBSTATE_ENABLED);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_YONGHU,     TBSTATE_ENABLED);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_PASSWORD,   TBSTATE_ENABLED);
    m_wndToolBar.GetToolBarCtrl().SetState(ID_LOGINOFF,   TBSTATE_ENABLED);
	m_wndToolBar.GetToolBarCtrl().SetState(ID_SCROD,      TBSTATE_ENABLED);
	m_wndToolBar.GetToolBarCtrl().SetState(ID_EXIT,       TBSTATE_ENABLED);

	RecalcLayout( );
}

void CMainFrame::OnLoginoff() 
{
	if(MessageBox("你确定要注销吗?","人事管理系统",MB_YESNO|MB_ICONQUESTION) ==IDYES)
	{
		SetToolBarHide();
        if(this->m_pStudentInfo != NULL)
		{
			//m_pStudentInfo->ShowWindow(FALSE);
			this->m_pStudentInfo->SendMessage(WM_CLOSE);
			//m_pStudentInfo = NULL;
		}
        if(this->m_pOperator != NULL)
		{
			//m_pOperator->ShowWindow(FALSE);
			this->m_pOperator->SendMessage(WM_CLOSE);
			//m_pOperator = NULL;
		}
		//Invalidate();
	}
}

void CMainFrame::OnPassword() 
{
	CModifyPassDlg dlg;
	dlg.m_eUserName = m_strUserName;
	dlg.m_strStuID = m_strID;
	dlg.m_strPass = m_strPass;
	dlg.m_eEnsure = _T("");
	dlg.m_eNew = _T("");
	dlg.m_eOlder = _T("");
	dlg.DoModal();
}

void CMainFrame::OnCrode() 
{
	if(m_pOperator != NULL)
	{
		m_pOperator->MDIActivate();
	}
	else
	{
		CCreateContext context;
		context.m_pNewViewClass = RUNTIME_CLASS(COperatorView);

		m_pOperator = new CMDIChildWnd();
		m_pOperator->LoadFrame(IDR_STUDENTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context);
		m_pOperator->InitialUpdateFrame(NULL,true);
		m_pOperator->ShowWindow(TRUE);
		m_pOperator->MDIMaximize();
	}	
}

void CMainFrame::OnExit() 
{
	if(MessageBox("你确定要退出吗?","人事管理系统",MB_YESNO|MB_ICONQUESTION) ==IDYES)
		CMDIFrameWnd::OnClose();	
}

void CMainFrame::OnStudent() 
{
	if(m_pStudentInfo != NULL)
	{
		m_pStudentInfo->MDIActivate();
	}
	else
	{
		CCreateContext context;
		context.m_pNewViewClass = RUNTIME_CLASS(CStudentInfoView);

		m_pStudentInfo = new CMDIChildWnd();
		m_pStudentInfo->LoadFrame(IDR_STUDENTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context);
		m_pStudentInfo->InitialUpdateFrame(NULL,true);
		m_pStudentInfo->ShowWindow(TRUE);
		m_pStudentInfo->MDIMaximize();
	}
}

void CMainFrame::OnYonghu() 
{
	 CCouseWnd dlg;
	 dlg.DoModal();
}

void CMainFrame::OnClose() 
{
	if(MessageBox("你确定要退出吗?","人事管理系统",MB_YESNO|MB_ICONQUESTION) ==IDYES)
		CMDIFrameWnd::OnClose();		
}

void CMainFrame::OnUpdateLogin(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	
}

void CMainFrame::OnUpdateLoginoff(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	
}

⌨️ 快捷键说明

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