📄 mainfrm.cpp
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "Renshi.h"
#include "MainFrm.h"
#include "BumenView.h"
#include "YuangongView.h"
#include "KaoqinView.h"
#include "PingjiaView.h"
#include "AdminView.h"
#include "AdminPwdDlg.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_LOGOFF, OnLogoff)
ON_COMMAND(ID_BUMEN, OnViewBumen)
ON_COMMAND(ID_YUANGONG, OnViewYuangong)
ON_COMMAND(ID_KAOQIN, OnViewKaoqin)
ON_COMMAND(ID_KAOPING, OnViewKaoping)
ON_COMMAND(ID_YONGHU, OnViewYonghu)
ON_COMMAND(ID_MIMA, OnMima)
ON_COMMAND(ID_CALC, OnCalc)
ON_COMMAND(ID_APP_EXIT, OnAppExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_DATE,
ID_INFO,
ID_XXXT,
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
m_pBumenView=NULL;
m_pYgView=NULL;
m_pKaoqinView=NULL;
m_pPingjiaView=NULL;
m_pAdminView=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);
this->SetToolBarHide();
this->SetWindowText("人事管理系统---未登陆");
/*
m_wndToolBar.SetButtonText(0,"新建"); //你所需要做的工作只需要添加这些:)
m_wndToolBar.SetButtonText(1,"打开"); //第一个参数是图标索引, 第2个参数是想要显示的文本
m_wndToolBar.SetButtonText(2,"保存");
m_wndToolBar.SetButtonText(4,"剪切");
m_wndToolBar.SetButtonText(5,"复制");
// m_wndToolBar.SetSizes(CSize(50,50),CSize(30,30)); */
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
}
this->m_wndStatusBar.SetPaneText(2," 尚未登陆.... ");
this->m_wndStatusBar.SetPaneText(1,CTime::GetCurrentTime().Format("%Y-%d-%m"));
// 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);
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::SetToolBarShow()
{
m_wndToolBar.GetToolBarCtrl().SetState(ID_FILE_NEW, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_LOGOFF, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_BUMEN, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_YUANGONG, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_KAOQIN, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_KAOPING, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_YONGHU, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_MIMA, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_CALC, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_APP_ABOUT, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_APP_EXIT, TBSTATE_ENABLED);
RecalcLayout( );
}
void CMainFrame::SetToolBarHide()
{
m_wndToolBar.GetToolBarCtrl().SetState(ID_FILE_NEW, TBSTATE_ENABLED);
m_wndToolBar.GetToolBarCtrl().SetState(ID_LOGOFF, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_BUMEN, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_YUANGONG, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_KAOQIN, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_KAOPING, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_YONGHU, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_MIMA, TBSTATE_HIDDEN);
m_wndToolBar.GetToolBarCtrl().SetState(ID_CALC, TBSTATE_HIDDEN);
RecalcLayout( );
}
void CMainFrame::OnLogoff()
{
if(MessageBox("你确实要注销当前登陆吗?","注销",MB_ICONQUESTION|MB_YESNO) ==IDYES)
{
this->SetToolBarHide();
this->SetWindowText("人事管理系统---未登陆");
::SetMenu(GetSafeHwnd(),((CRenshiApp*)AfxGetApp())->m_hMenu);
if(this->m_pAdminView !=NULL)
this->m_pAdminView->SendMessage(WM_CLOSE);
if(this->m_pYgView !=NULL)
this->m_pYgView->SendMessage(WM_CLOSE);
if(this->m_pKaoqinView !=NULL)
this->m_pKaoqinView->SendMessage(WM_CLOSE);
if(this->m_pPingjiaView !=NULL)
this->m_pPingjiaView->SendMessage(WM_CLOSE);
if(this->m_pBumenView !=NULL)
this->m_pBumenView->SendMessage(WM_CLOSE);
m_wndStatusBar.SetPaneText(2," 尚未登陆.... ");
}
}
void CMainFrame::OnViewBumen()
{
if(m_pBumenView!=NULL)
{
m_pBumenView->MDIActivate();
return;
}
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CBumenView);
m_pBumenView=new CMDIChildWnd();
if(!m_pBumenView->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
return;
m_pBumenView->ShowWindow(SW_SHOW);
m_pBumenView->InitialUpdateFrame(NULL,true);
m_pBumenView->MDIMaximize();
}
void CMainFrame::OnViewYuangong()
{
if(m_pYgView!=NULL)
{
m_pYgView->MDIActivate();
return;
}
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CYuangongView);
m_pYgView=new CMDIChildWnd();
if(!m_pYgView->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
return;
m_pYgView->ShowWindow(SW_SHOW);
m_pYgView->InitialUpdateFrame(NULL,true);
m_pYgView->MDIMaximize();
}
void CMainFrame::OnViewKaoqin()
{
if(m_pKaoqinView!=NULL)
{
m_pKaoqinView->MDIActivate();
return;
}
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CKaoqinView);
m_pKaoqinView=new CMDIChildWnd();
if(!m_pKaoqinView->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
return;
m_pKaoqinView->ShowWindow(SW_SHOW);
m_pKaoqinView->InitialUpdateFrame(NULL,true);
m_pKaoqinView->MDIMaximize();
}
void CMainFrame::OnViewKaoping()
{
if(m_pPingjiaView!=NULL)
{
m_pPingjiaView->MDIActivate();
return;
}
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CPingjiaView);
m_pPingjiaView=new CMDIChildWnd();
if(!m_pPingjiaView->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
return;
m_pPingjiaView->ShowWindow(SW_SHOW);
m_pPingjiaView->InitialUpdateFrame(NULL,true);
m_pPingjiaView->MDIMaximize();
}
void CMainFrame::OnViewYonghu()
{
if(m_pAdminView!=NULL)
{
m_pAdminView->MDIActivate();
return;
}
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CAdminView);
m_pAdminView=new CMDIChildWnd();
if(!m_pAdminView->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
return;
m_pAdminView->ShowWindow(SW_SHOW);
m_pAdminView->InitialUpdateFrame(NULL,true);
m_pAdminView->MDIMaximize();
}
void CMainFrame::OnMima()
{
CAdminPwdDlg dlg;
dlg.DoModal();
}
void CMainFrame::OnCalc()
{
WinExec("calc.exe",SW_SHOW);
}
void CMainFrame::OnAppExit()
{
if(MessageBox("你确定要退出吗?","人事管理系统",MB_YESNO|MB_ICONQUESTION) ==IDYES)
SendMessage(WM_CLOSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -