📄 ministrypersondlg.cpp
字号:
// MinistryPersonDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MinistryPerson.h"
#include "MinistryPersonDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMinistryPersonDlg dialog
CMinistryPersonDlg::CMinistryPersonDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMinistryPersonDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMinistryPersonDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDI_MAINTITLE);
}
void CMinistryPersonDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMinistryPersonDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMinistryPersonDlg, CDialog)
//{{AFX_MSG_MAP(CMinistryPersonDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_COMMAND(ID_MENU_EMPLOYEEINFO, OnMenuEmployeeinfo)
ON_COMMAND(ID_MENU_LOGOUT, OnMenuLogout)
ON_COMMAND(ID_MENU_RELOGIN, OnMenuRelogin)
ON_COMMAND(ID_MENU_EXITSYS, OnMenuExitsys)
ON_COMMAND(ID_MENU_CHANGEPASSWORD, OnMenuChangepassword)
ON_COMMAND(ID_MENU_REGISTER, OnMenuRegister)
ON_COMMAND(ID_MENU_FUNC_PAYPRO, OnMenuFuncPaypro)
ON_COMMAND(ID_MENU_MODIFY_EMPLOYEEINFO, OnMenuModifyEmployeeinfo)
ON_COMMAND(ID_MENU2_ADDNEW_COM_DEPART, OnMenu2AddnewComDepart)
ON_COMMAND(ID_MENU3_OUT_POSINFO, OnMenu3OutPosinfo)
ON_COMMAND(ID_MENU3_DEL_POSINFO, OnMenu3DelPosinfo)
ON_COMMAND(ID_MENU2_FILTER_INFO, OnMenu2FilterInfo)
ON_COMMAND(ID_MENU2_JOINFLOWER, OnMenu2Joinflower)
ON_COMMAND(ID_MENU2_UNEMPLOYEE, OnMenu2Unemployee)
ON_COMMAND(ID_MENU4_ADDREMOVE, OnMenu4Addremove)
ON_COMMAND(ID_MENU4_ALTERROSTER, OnMenu4Alterroster)
ON_COMMAND(ID_MENU3_CONTRACTFLOWER, OnMenu3Contractflower)
ON_COMMAND(ID_MENUL_QUERYDELHUM, OnMenulQuerydelhum)
ON_COMMAND(ID_MENUL_DELHUMSHOW, OnMenulDelhumshow)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMinistryPersonDlg message handlers
BOOL CMinistryPersonDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_Menu.LoadMenu(IDR_MAIN_MENU);
SetMenu(&m_Menu);
// 登陆功能
CString strStatusCon;
#ifndef TESTING
CLoginDlg dlg;
if (IDOK != dlg.DoModal())
{
::g_IsLanded = TRUE; // 暂时之后要改为FALSE
NonLoading();
strStatusCon = "当前系统没有用户登陆";
this->SetWindowText(strStatusCon);
goto setstatus;
}
m_strCurUserName = dlg.GetUserName();
#else
m_strCurUserName = "ideA";
#endif
strStatusCon.Format("当前登陆用户是:%s", m_strCurUserName);
this->SetWindowText(strStatusCon);
setstatus:
UINT indicators[] = {100, 101};
m_StatusBar.Create(this); // 创建状态栏
// 为状态栏的状态项指定ID号
m_StatusBar.SetIndicators(indicators, sizeof(indicators) / sizeof(UINT));
m_StatusBar.SetPaneInfo(0, 100, 0, 200); // 状态栏项的信息
m_StatusBar.SetPaneInfo(1, 101, 0, 600);
m_StatusBar.SetPaneText(0, strStatusCon); // 设定状态栏显示文本
// 调整窗口客户区控件栏的大小和位置
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
return TRUE; // return TRUE unless you set the focus to a control
}
void CMinistryPersonDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CMinistryPersonDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CMinistryPersonDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
/*********************************************************************
函数说明: 判断是否为登陆状态
函数参数:
*********************************************************************/
void CMinistryPersonDlg::NonLoading(BOOL bIsLanding)
{
if (!bIsLanding)
{
//m_Menu.EnableMenuItem(ID_MENU_CHANGEPASSWORD, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
//m_Menu.EnableMenuItem(ID_MENU_LOGOUT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
//m_Menu.EnableMenuItem(ID_MENU_EMPLOYEEINFO, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
}
else
{
//m_Menu.EnableMenuItem(ID_MENU_CHANGEPASSWORD, MF_BYCOMMAND | MF_ENABLED);
//m_Menu.EnableMenuItem(ID_MENU_LOGOUT, MF_BYCOMMAND | MF_ENABLED);
//m_Menu.EnableMenuItem(ID_MENU_EMPLOYEEINFO, MF_BYCOMMAND | MF_ENABLED);
}
}
/*********************************************************************
函数说明: Page的页面
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenuEmployeeinfo()
{
// 事务处理机制
CADOOperation ADOdbo;
ADOdbo.OpenTable("Search_Table");
if (ADOdbo.IsLastRow())
{
MessageBox("您有可能是第一次使用该系统,数据库内容暂无任何信息。\
\n\r在使用该系统前,请先填写“单位部门管理”,以便之后的信息管理\n\r", "提示", MB_OK | MB_ICONEXCLAMATION);
ADOdbo.CloseTable();
AddNewComAndDepartDlg AddNewDlg;
AddNewDlg.DoModal();
return;
}
ADOdbo.CloseTable();
g_bQueryToShow = FALSE;
g_In_nID = 0;
g_In_strIDCard = "";
AllTogetherMainDlg AllToGetherDlg;
AllToGetherDlg.DoModal();
// 为下次正确录入,还原关键字初始值
g_In_nID = 0;
g_In_strIDCard = "";
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
/*********************************************************************
函数说明: 退出登陆
函数参数: void
*********************************************************************/
void CMinistryPersonDlg::OnMenuLogout()
{
g_IsLanded = FALSE;
m_strCurUserName.Empty();
m_StatusBar.SetPaneText(0, "当前系统没有用户登录");
this->SetWindowText("当前系统没有用户登录");
NonLoading(FALSE);
}
/*********************************************************************
函数说明: 重新登陆
函数参数: void
*********************************************************************/
void CMinistryPersonDlg::OnMenuRelogin()
{
CLoginDlg dlg;
if(IDOK != dlg.DoModal())
{
return;
}
CString str;
m_strCurUserName = dlg.GetUserName();
str.Format("当前登陆用户是:%s", m_strCurUserName);
m_StatusBar.SetPaneText(0, str);
this->SetWindowText(str);
NonLoading(TRUE);
g_IsLanded = TRUE;
}
/*********************************************************************
函数说明: 退出系统
函数参数: void
*********************************************************************/
void CMinistryPersonDlg::OnMenuExitsys()
{
EndDialog(0);
}
/*********************************************************************
函数说明: 修改密码
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenuChangepassword()
{
RegisterNewUserDlg ModiPassDlg;
ModiPassDlg.SetModifyPasswordDlg(TRUE);
ModiPassDlg.SetUserName(m_strCurUserName);
ModiPassDlg.DoModal();
}
/*********************************************************************
函数说明: 注册新用户
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenuRegister()
{
RegisterNewUserDlg RegNewDlg;
RegNewDlg.SetModifyPasswordDlg(FALSE);
RegNewDlg.DoModal();
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenuFuncPaypro()
{
FuncPayProtectDlg FuncPPDlg;
FuncPPDlg.DoModal();
}
/*********************************************************************
函数说明:
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenuModifyEmployeeinfo()
{
ModifyEmployeeInfo SearchModifyDlg;
SearchModifyDlg.DoModal();
}
/*********************************************************************
函数说明: 部门 和 单位 管理
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu2AddnewComDepart()
{
AddNewComAndDepartDlg AddNewDlg;
AddNewDlg.DoModal();
}
/*********************************************************************
函数说明: 离职员工
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu3OutPosinfo()
{
FuncOutPosInfoDlg OutPosInfoDlg;
OutPosInfoDlg.DoModal();
}
/*********************************************************************
函数说明: 除名员工
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu3DelPosinfo()
{
FuncRemoveInfoDlg RemoveInfoDlg;
RemoveInfoDlg.DoModal();
}
/*********************************************************************
函数说明: 筛选功能
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu2FilterInfo()
{
FuncFilterInfoDlg FilterDlg;
FilterDlg.DoModal();
}
/*********************************************************************
函数说明: 入职花名册
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu2Joinflower()
{
JoinFlowerInfoDlg JoinFlowerDlg;
JoinFlowerDlg.DoModal();
}
/*********************************************************************
函数说明: 未转正员工管理
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu2Unemployee()
{
JoinNotInDutyFormDlg JoinNIDFDlg;
JoinNIDFDlg.DoModal();
}
/*********************************************************************
函数说明: 添加调动
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu4Addremove()
{
Menu_QueryRemoveDlg QueryRemDlg;
QueryRemDlg.DoModal();
}
/*********************************************************************
函数说明: 调动花名册
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu4Alterroster()
{
Menu_AlterInfoFlower AlterDlg;
AlterDlg.DoModal();
}
/*********************************************************************
函数说明: 合同花名册
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenu3Contractflower()
{
Menu_ContractFlowerDlg ContractDlg;
ContractDlg.DoModal();
}
/*********************************************************************
函数说明: 辞职查询
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenulQuerydelhum()
{
MenuL_QueryDelDlg DemissionDlg;
DemissionDlg.DoModal();
}
/*********************************************************************
函数说明: 辞职花名册
函数参数:
*********************************************************************/
void CMinistryPersonDlg::OnMenulDelhumshow()
{
MenuL_ShowDelFlowerDlg DemissionFlowerDlg;
DemissionFlowerDlg.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -