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

📄 userdlg.cpp

📁 本源码非常详细的实现了一个运动员信息管理系统 其中包括管理员
💻 CPP
字号:
// UserDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AthleteInfo.h"
#include "UserDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CUserDlg dialog


CUserDlg::CUserDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CUserDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUserDlg)
	//}}AFX_DATA_INIT
}


void CUserDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUserDlg)
	DDX_Control(pDX, IDC_USER_PASSWORD, m_strPassword);
	DDX_Control(pDX, IDC_USER_NAME, m_strUser);
	DDX_Control(pDX, IDC_USER_LEVEL, m_cLevel);
	DDX_Control(pDX, IDC_USER_EDIT, m_bEdit);
	DDX_Control(pDX, IDC_USER_DEL, m_bDel);
	DDX_Control(pDX, IDC_USER_ADD, m_bAdd);
	DDX_Control(pDX, IDC_LIST_USER, m_list);
	DDX_Control(pDX, ID_USER_OK, m_bConfirm);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUserDlg, CDialog)
	//{{AFX_MSG_MAP(CUserDlg)
	ON_NOTIFY(NM_CLICK, IDC_LIST_USER, OnClickListUser)
	ON_BN_CLICKED(IDC_USER_ADD, OnUserAdd)
	ON_BN_CLICKED(IDC_USER_EDIT, OnUserEdit)
	ON_BN_CLICKED(IDC_USER_DEL, OnUserDel)
	ON_BN_CLICKED(ID_USER_OK, OnUserOk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUserDlg message handlers



BOOL CUserDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	m_list.InsertColumn(0,"用户编号");
	m_list.InsertColumn(1,"用户名");
	m_list.InsertColumn(2,"密码");
	m_list.InsertColumn(3,"用户权限");

	RECT rectList;
	m_list.GetWindowRect(&rectList);
	int wid=rectList.right-rectList.left-4;
	for(int i=0;i<4;i++)
		m_list.SetColumnWidth(i,wid/4);
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	RefreshList();
	m_cLevel.AddString("管理员");
	m_cLevel.AddString("运动员");
	m_cLevel.SelectString(0,"管理员");
	ResetButton();
	return TRUE;
	

}

void CUserDlg::RefreshList()
{
	m_list.DeleteAllItems();
	m_userSet.Open();
	m_userSet.m_strFilter="active_status='Y'";
	m_userSet.Requery();
	for(int i=0;i<m_userSet.GetRecordCount();i++){
		CString temp;
		m_userSet.GetFieldValue("user_id",temp);
		m_list.InsertItem(i,temp);
		m_userSet.GetFieldValue("user_name",temp);
		m_list.SetItemText(i,1,temp);
		m_userSet.GetFieldValue("user_password",temp);
		m_list.SetItemText(i,2,temp);
		m_userSet.GetFieldValue("user_level",temp);
		m_list.SetItemText(i,3,temp);
		m_userSet.MoveNext();
	}
	m_userSet.Close();
	

}

void CUserDlg::ResetButton()
{
	m_strUser.EnableWindow(false);
	m_strPassword.EnableWindow(false);
	m_cLevel.EnableWindow(false);
	m_bConfirm.EnableWindow(false);
	m_bAdd.EnableWindow(true);
	m_bDel.EnableWindow(true);
	m_bEdit.EnableWindow(true);
	

}

void CUserDlg::OnClickListUser(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int row=m_list.GetSelectionMark();
	CString s;
	s=m_list.GetItemText(row,1);
	m_strUser.SetWindowText(s);
	s=m_list.GetItemText(row,2);
	m_strPassword.SetWindowText(s);
	s=m_list.GetItemText(row,3);
	if(s=="0")
		m_cLevel.SelectString(0,"管理员");
	if(s=="1")
		m_cLevel.SelectString(1,"运动员");

	
	*pResult = 0;
	
}


void CUserDlg::OnUserAdd() 
{
	// TODO: Add your control notification handler code here
	m_strUser.EnableWindow(true);
	m_strUser.SetWindowText("");
	m_strPassword.EnableWindow(true);
	m_strPassword.SetWindowText("");
	m_cLevel.EnableWindow(true);
	m_cLevel.SelectString(0,"管理员");
	m_userSet.Open();
	m_userSet.AddNew();
	m_bConfirm.EnableWindow(true);
	m_bAdd.EnableWindow(false);
	m_bEdit.EnableWindow(false);
	m_bDel.EnableWindow(false);
}



void CUserDlg::OnUserEdit() 
{
	// TODO: Add your control notification handler code here
	int row=m_list.GetSelectionMark();
	CString s,strSQL;
	s=m_list.GetItemText(row,0);
	if(s==""){
		MessageBox("请选择一行!");
	}
	else{
		strSQL.Format("user_id=%s",s);
		m_userSet.Open();
		m_userSet.m_strFilter=strSQL;
		m_userSet.Requery();
		m_userSet.Edit();
		m_bConfirm.EnableWindow(true);
		m_bAdd.EnableWindow(false);
		m_bEdit.EnableWindow(false);
	    m_bDel.EnableWindow(false);
		m_strUser.EnableWindow(true);
		m_strPassword.EnableWindow(true);
		m_cLevel.EnableWindow(true);
	}
		
}

void CUserDlg::OnUserDel() 
{
	// TODO: Add your control notification handler code here
	int row=m_list.GetSelectionMark();
	CString s,strSQL;
	s=m_list.GetItemText(row,0);
	if(s==""){
		MessageBox("请选择一行!");
	}
	else{
		if(MessageBox("确定要删除记录吗?","删除询问",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
		strSQL.Format("user_id=%s",s);
		m_userSet.Open();
		m_userSet.m_strFilter=strSQL;
		m_userSet.Requery();
		m_userSet.Edit();
		m_userSet.m_active_status="N";
		m_userSet.Update();
		m_userSet.Close();
		RefreshList();
	}

	
}

void CUserDlg::OnUserOk() 
{
	// TODO: Add your control notification handler code here
	CString username,password,level;
	m_strUser.GetWindowText(username);
	m_strPassword.GetWindowText(password);
	if(username=="")
		MessageBox("请输入用户名");
	else if(password=="")	
		MessageBox("请输入密码");
	else{
		int i=m_cLevel.GetCurSel();
		if(i==0)
			level="0";
		if(i==1)
			level="1";
		
		m_userSet.m_user_name=username;
		m_userSet.m_user_password=password;
		m_userSet.m_user_level=level;
		m_userSet.m_active_status="Y";
		m_userSet.Update();
		m_userSet.Close();
		RefreshList();
		ResetButton();
	}
}

void CUserDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	if(m_userSet.IsOpen())
		m_userSet.Close();
	ResetButton();
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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