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

📄 ministrypersondlg.cpp

📁 VC++和ACCESS使用ADO连接
💻 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 + -