📄 mainfrm.cpp
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "ZHURUI_JK02_人事管理.h"
#include "MainFrm.h"
#include"ZHURUI_JK02_人事管理Doc.h"
#include"ZHGSET.h"
#include"ZHGVIEW.h"
#include"SAMDLG.h"
#include"LOGIONDLG.h"
#include"ZHURUI_JK02_人事管理Set.h"
#include"ZHURUI_JK02_人事管理View.h"
#include"TXLSet.h"
#include"TXLView.h"
#include "KAOQINSET.h"
#include "KAOQINVIEW.h"
#include"KAOCHASET.h"
#include"KAOCHAVIEW.h"
#include"SETSET.h"
#include"SETVIEW.h"
#include"MIMADLG.h"
#include"TONGJIDLG.h"
#include"BUMENDLG.h"
#include "mmsystem.h"
#pragma comment (lib,"WINMM.LIB")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CRect rc(0,0,871,10);
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(IDM_XINXI, OnXinxi)
ON_COMMAND(IDM_ZGXX, OnZgxx)
ON_BN_CLICKED(IDC_ZGGL, OnZggl)
ON_BN_CLICKED(IDC_TXL, OnTxl)
ON_BN_CLICKED(IDC_TUICHU, OnTuichu)
ON_BN_CLICKED(IDC_TONGJI, OnTongji)
ON_BN_CLICKED(IDC_MIMA, OnMima)
ON_BN_CLICKED(IDC_KAOQIN, OnKaoqin)
ON_BN_CLICKED(IDC_KAOCHA, OnKaocha)
ON_BN_CLICKED(IDC_DENGLU, OnDenglu)
ON_BN_CLICKED(IDC_CHAXUN, OnChaxun)
ON_BN_CLICKED(IDC_CANSHU, OnCanshu)
ON_BN_CLICKED(IDC_BUMEN, OnBumen)
ON_WM_NCMOUSEMOVE()
ON_WM_NCLBUTTONDOWN()
ON_WM_PAINT()
ON_WM_KILLFOCUS()
ON_WM_SETFOCUS()
ON_WM_TIMER()
ON_COMMAND(IDM_ZHGTXL, OnZhgtxl)
ON_COMMAND(IDM_BANGZHU, OnBangzhu)
ON_BN_CLICKED(IDC_XINXI, OnXinxi)
ON_COMMAND(IDM_BUMEN, OnBumen)
ON_COMMAND(IDM_CANSHU, OnCanshu)
ON_COMMAND(IDM_TUICHU, OnTuichu)
ON_COMMAND(IDM_KAOQIN, OnKaoqin)
ON_COMMAND(IDM_KAOCHA, OnKaocha)
ON_COMMAND(IDM_DENGLU, OnDenglu)
ON_COMMAND(IDM_MIMA, OnMima)
ON_COMMAND(IDM_CHAXUN, OnChaxun)
ON_COMMAND(IDM_TONGJI, OnTongji)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
IDS_CurRcd,
// IDS_TotalRcd,
// ID_INDICATOR_CAPS,
// ID_INDICATOR_NUM,
// ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.Create(this,IDR_MAINFRAME,WS_CHILD|WS_VISIBLE|CBRS_TOP,AFX_IDW_STATUS_BAR))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
/* if (!m_wndDlgBar.Create(this,IDD_DIALOG1,WS_CHILD|WS_VISIBLE|CBRS_TOP,AFX_IDW_STATUS_BAR))
{
TRACE0("Failed to create dialogbar\n");
return -1; // fail to create
}
*/
if (!m_wndReBar.Create(this) ||
!m_wndReBar.AddBar(&m_wndToolBar))// ||
// !m_wndReBar.AddBar(&m_wndDlgBar))
{
TRACE0("Failed to create rebar\n");
return -1; // fail to create
}
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: Remove this if you don't want tool tips
// m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
// CBRS_TOOLTIPS | CBRS_FLYBY);
// m_wndToolBar.Create(this,IDD_DIALOG1,WS_CHILD|WS_VISIBLE|CBRS_TOP,AFX_IDW_STATUS_BAR);
m_btn_XINXI.AutoLoad(IDC_XINXI,&m_wndToolBar);
m_btn_ZGGL.AutoLoad(IDC_ZGGL,&m_wndToolBar);
m_btn_MIMA.AutoLoad(IDC_MIMA,&m_wndToolBar);
m_btn_DL.AutoLoad(IDC_DENGLU,&m_wndToolBar);
m_btn_TXL.AutoLoad(IDC_TXL,&m_wndToolBar);
m_btn_KAOQIN.AutoLoad(IDC_KAOQIN,&m_wndToolBar);
m_btn_CHAXUN.AutoLoad(IDC_CHAXUN,&m_wndToolBar);
m_btn_TONGJI.AutoLoad(IDC_TONGJI,&m_wndToolBar);
m_btn_KAOCHA.AutoLoad(IDC_KAOCHA,&m_wndToolBar);
m_btn_BUMEN.AutoLoad(IDC_BUMEN,&m_wndToolBar);
m_btn_CANSHU.AutoLoad(IDC_CANSHU,&m_wndToolBar);
m_btn_TUICHU.AutoLoad(IDC_TUICHU,&m_wndToolBar);
m_btn_XINXI.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_XINXI);
m_btn_ZGGL.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_ZGGL);
m_btn_MIMA.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_MIMA);
m_btn_DL.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_DENGLU);
m_btn_TXL.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_TXL);
m_btn_KAOQIN.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_KAOQIN);
m_btn_CHAXUN.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_CHAXUN);
m_btn_TONGJI.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_TONGJI);
m_btn_KAOCHA.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_KAOCHA);
m_btn_BUMEN.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_BUMEN);
m_btn_CANSHU.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_CANSHU);
m_btn_TUICHU.m_pbtn=(CSAMBTN*)m_wndToolBar.GetDlgItem(IDC_TUICHU);
Logion();
SetTimer(1,1000,NULL);
SetTimer(2,300,NULL);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
//cs.dwExStyle=cs.dwExStyle;
cs.style=WS_SYSMENU|WS_OVERLAPPED;//|WS_MINIMIZEBOX; //固定窗口大小,取消窗口最大化和最小化按钮
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnXinxi()
{
// TODO: Add your command handler code here
ChangeForm(IDD_ZHURUI_JK02__FORM);
}
void CMainFrame::OnZgxx()
{
// TODO: Add your command handler code here
ChangeForm(IDD_ZHG_FORM);
}
void CMainFrame::ChangeForm(int nForm)
{
CView* pOldActiveView=GetActiveView();
CView* pNewActiveView=(CView*)GetDlgItem(nForm);
if(pNewActiveView==NULL)
{
switch(nForm)
{
case IDD_ZHURUI_JK02__FORM:
pNewActiveView=(CView*)new CZHURUI_JK02_View;
break;
case IDD_ZHG_FORM:
pNewActiveView=(CView*)new CZHGVIEW;
break;
case IDD_TXLFORM:
pNewActiveView=(CView*)new CTXLView;
break;
case IDD_KAOQIN:
pNewActiveView=(CView*)new CKAOQINVIEW;
break;
case IDD_KAOCHAFORM:
pNewActiveView=(CView*)new CKAOCHAVIEW;
break;
case IDD_SETFORM:
pNewActiveView=(CView*)new CSETVIEW;
break;
}
CCreateContext context;
context.m_pCurrentDoc=pOldActiveView->GetDocument();
pNewActiveView->Create(NULL,NULL,0L,CFrameWnd::rectDefault,this,nForm,&context);
pNewActiveView->OnInitialUpdate();
}
SetActiveView(pNewActiveView);
pNewActiveView->ShowWindow(SW_SHOW);
pOldActiveView->ShowWindow(SW_HIDE);
if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CZHURUI_JK02_View))
pOldActiveView->SetDlgCtrlID(IDD_ZHURUI_JK02__FORM);
else
if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CZHGVIEW))
pOldActiveView->SetDlgCtrlID(IDD_ZHG_FORM);
else
if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CTXLView))
pOldActiveView->SetDlgCtrlID(IDD_TXLFORM);
else
if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CKAOQINVIEW))
pOldActiveView->SetDlgCtrlID(IDD_KAOQIN);
else
if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CKAOCHAVIEW))
pOldActiveView->SetDlgCtrlID(IDD_KAOCHAFORM);
else
if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CSETVIEW))
pOldActiveView->SetDlgCtrlID(IDD_SETFORM);
pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
RecalcLayout();
}
void CMainFrame::OnZggl()
{
// TODO: Add your control notification handler code here
ChangeForm(IDD_ZHG_FORM);
}
void CMainFrame::OnTxl()
{
// TODO: Add your control notification handler code here
ChangeForm(IDD_TXLFORM);
}
void CMainFrame::OnTuichu()
{
// TODO: Add your control notification handler code here
InvalidateRect(&rc);
if(IDYES==AfxMessageBox("真的要退出么?",MB_YESNO))
{
PostQuitMessage(0);
}
InvalidateRect(&rc);
}
void CMainFrame::OnTongji()
{
// TODO: Add your control notification handler code here
CTONGJIDLG samdlg;
samdlg.DoModal();
}
void CMainFrame::OnMima()
{
// TODO: Add your control notification handler code here
CMIMADLG dlg;
dlg.DoModal();
}
void CMainFrame::OnKaoqin()
{
// TODO: Add your control notification handler code here
CDatabase db;
CRecordset rs(&db);
db.Open("sam人事管理");
CString strUser;
rs.Open(CRecordset::forwardOnly,"select ID from 当前用户 where POS=1");
rs.GetFieldValue("ID",strUser);
if(strUser=="人事部 " )
{
ChangeForm(IDD_KAOQIN);
}
else
{
AfxMessageBox("您没有相关权限!");
}
}
void CMainFrame::OnKaocha()
{
// TODO: Add your control notification handler code here
ChangeForm(IDD_KAOCHAFORM);
}
void CMainFrame::OnDenglu()
{
// TODO: Add your control notification handler code here
Logion();
}
void CMainFrame::OnChaxun()
{
// TODO: Add your control notification handler code here
ChangeForm(IDD_ZHG_FORM);
}
void CMainFrame::OnCanshu()
{
// TODO: Add your control notification handler code here
ChangeForm(IDD_SETFORM);
}
void CMainFrame::OnBumen()
{
// TODO: Add your control notification handler code here
CBUMENDLG samdlg;
samdlg.DoModal();
}
void CMainFrame::OnNcMouseMove(UINT nHitTest, CPoint point)
{
CDC* dc;
dc=GetWindowDC();
CDC memdc;
memdc.CreateCompatibleDC(dc);
CRect rc_window,rc_min,rc_close;
GetWindowRect(&rc_window);
rc_min.left=rc_window.right-90;
rc_min.right=rc_window.right-65;
rc_min.top=rc_window.top;
rc_min.bottom=rc_window.top+21;
rc_close.left=rc_window.right-32;
rc_close.right=rc_window.right-7;
rc_close.top=rc_window.top;
rc_close.bottom=rc_window.top+21;
CBitmap bmp,bmp1,*oldbmp;
if(rc_min.PtInRect(point))
{
bmp.LoadBitmap("IDB_MIN");
}
else
if(rc_close.PtInRect(point))
{
bmp.LoadBitmap("IDB_CLOSE");
}
else
{
bmp.LoadBitmap("IDB_NORMAL");
}
oldbmp=memdc.SelectObject(&bmp);
dc->BitBlt(rc.Width()-93,0,93,30,&memdc,0,0,SRCCOPY);
bmp1.LoadBitmap("IDB_TOP");
memdc.SelectObject(&bmp1);
dc->BitBlt(0,0,rc.Width(),30,&memdc,0,0,SRCCOPY);
memdc.SelectObject(oldbmp);
bmp1.DeleteObject();
bmp.DeleteObject();
ReleaseDC(&memdc);
ReleaseDC(dc);
memdc.DeleteDC();
// dc->DeleteDC();
}
void CMainFrame::OnNcLButtonDown(UINT nHitTest, CPoint point)
{
CRect rc_window,rc_min,rc_close;
GetWindowRect(&rc_window);
rc_min.left=rc_window.right-90;
rc_min.right=rc_window.right-65;
rc_min.top=rc_window.top;
rc_min.bottom=rc_window.top+21;
rc_close.left=rc_window.right-32;
rc_close.right=rc_window.right-7;
rc_close.top=rc_window.top;
rc_close.bottom=rc_window.top+21;
if(rc_min.PtInRect(point))
{
//this->ShowWindow(SW_HIDE);
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, MAKELPARAM(point.x, point.y));
}
else
if(rc_close.PtInRect(point))
{
SendMessage(WM_CLOSE);
}
else
{
Default();
}
}
int flag=0;
void CMainFrame::OnPaint()
{
if(flag!=1)
{
this->SetWindowPos(NULL,0,0,871,670,SWP_NOMOVE);
this->CenterWindow();
flag=1;
}
CPaintDC dc0(this); // device context for painting
CDC* dc;
dc=this->GetWindowDC();
CDC memdc;
memdc.CreateCompatibleDC(dc);
CBitmap bmp,bmp1;
bmp.LoadBitmap("IDB_TOP");
memdc.SelectObject(&bmp);
CRect rc,rc_client;
this->GetWindowRect(&rc);
dc->BitBlt(0,0,rc.Width(),30,&memdc,0,0,SRCCOPY);
bmp.DeleteObject();
bmp1.LoadBitmap("IDB_NORMAL");
memdc.SelectObject(&bmp1);
dc->BitBlt(rc.Width()-93,0,93,30,&memdc,0,0,SRCCOPY);
memdc.DeleteDC();
// dc->DeleteDC();
}
void CMainFrame::PlaySnd()
{
HINSTANCE h=AfxGetInstanceHandle();
HRSRC hr=FindResource(h,"IDW_PRESS","WAVE");
HGLOBAL hg=LoadResource(h,hr);
LPSTR lp=(LPSTR)LockResource(hg);
sndPlaySound(lp,SND_MEMORY|SND_ASYNC);
FreeResource(hg);
}
void CMainFrame::OnKillFocus(CWnd* pNewWnd)
{
CFrameWnd::OnKillFocus(pNewWnd);
// TODO: Add your message handler code here
InvalidateRect(&rc);
}
BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
InvalidateRect(&rc);
return CFrameWnd::OnCommand(wParam, lParam);
}
void CMainFrame::OnSetFocus(CWnd* pOldWnd)
{
CFrameWnd::OnSetFocus(pOldWnd);
// TODO: Add your message handler code here
}
int dd=0,hh=0,mm=0,ss=0,ii=0;
char s[30];
void CMainFrame::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent==1)
{
time_t t = time(0); //产生"YYYY-MM-DD hh:mm:ss"格式的字符串。
dd++;
ss=dd%60;
if(ss==59)
{
mm++;
}
mm=mm%60;
if(mm==59)
{
hh++;
}
hh=hh%24;
strftime(s, sizeof(s), "当前时间:%Y-%m-%d %H:%M:%S", localtime(&t));
}
if(nIDEvent==2)
{
CString str;
CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CStatusBar* pStatus=&pFrame->m_wndStatusBar;
if(pStatus)
{
CString strLOGO=" sam 课程设计 指导教师:王静文";
if(ii>56)
{
ii=0;
}
ii+=2;
strLOGO=strLOGO.Mid(ii);
str.Format("【%s】【当前用户ID:%s】【程序已运行%d时%d分%d秒】 %s",s,m_USER,hh,mm,ss,strLOGO);
pStatus->SetPaneText(0,str);
}
}
CFrameWnd::OnTimer(nIDEvent);
}
int logionflag=0;
void CMainFrame::Logion()
{
CLOGIONDLG dlg;//登陆模拟08-12-02;
if(IDCANCLE==dlg.DoModal() && logionflag==0 )
{
PostQuitMessage(0);
}
else
if( dlg.m_LOGION==0 && logionflag==0)
{
PostQuitMessage(0);
}
else
if( dlg.m_LOGION==1)
{
m_USER=dlg.m_YHM;
CDatabase dbtmp;
dbtmp.Open("sam人事管理");
CString strSQL=" update 当前用户 \
set\
ID='"+m_USER+"'\
where POS=1;";
dbtmp.ExecuteSQL(strSQL);
dbtmp.Close();
logionflag=1;
}
}
void CMainFrame::OnZhgtxl()
{
// TODO: Add your command handler code here
OnTxl() ;
}
void CMainFrame::OnBangzhu()
{
// TODO: Add your command handler code here
MessageBox("准备中!");
}
void CMainFrame::OnClose()
{
// TODO: Add your message handler code here and/or call default
InvalidateRect(&rc);
if(IDYES==AfxMessageBox("真的要退出么?",MB_YESNO))
{
PostQuitMessage(0);
}
InvalidateRect(&rc);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -