📄 userdlg.cpp
字号:
// UserDlg.cpp : implementation file
//
#include "stdafx.h"
#include "pro.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)
m_addpwd = _T("");
m_addusn = _T("");
m_rnpwd = _T("");
m_ropwd = _T("");
m_rusn = _T("");
m_r = FALSE;
m_a = FALSE;
//}}AFX_DATA_INIT
}
void CUserDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserDlg)
DDX_Control(pDX, IDC_RUSN, m_rusnc);
DDX_Control(pDX, IDC_ROPWD, m_ropwdc);
DDX_Control(pDX, IDC_RNPWD, m_rnpwdc);
DDX_Control(pDX, IDC_ADDUSN, m_addusnc);
DDX_Control(pDX, IDC_ADDPWD, m_addpwdc);
DDX_Control(pDX, IDC_LIST_ALLUSER, m_ListCtrl);
DDX_Text(pDX, IDC_ADDPWD, m_addpwd);
DDX_Text(pDX, IDC_ADDUSN, m_addusn);
DDX_Text(pDX, IDC_RNPWD, m_rnpwd);
DDX_Text(pDX, IDC_ROPWD, m_ropwd);
DDX_Text(pDX, IDC_RUSN, m_rusn);
DDX_Check(pDX, IDC_CHECK1, m_r);
DDX_Check(pDX, IDC_CHECK2, m_a);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserDlg, CDialog)
//{{AFX_MSG_MAP(CUserDlg)
ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUserDlg message handlers
BOOL CUserDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
LV_COLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
l_db.Open ();
lvc.iSubItem = 0;
lvc.pszText = (char *)"ID";
lvc.cx = 30;
m_ListCtrl.InsertColumn(0,&lvc);
lvc.iSubItem = 1;
lvc.pszText = (char *)"用户名";
lvc.cx = 180;
m_ListCtrl.InsertColumn(1,&lvc);
l_db.Requery();
show();
m_ropwdc.EnableWindow(FALSE);
m_rnpwdc.EnableWindow(FALSE);
m_addusnc.EnableWindow(FALSE);
m_addpwdc.EnableWindow(FALSE);
m_ListCtrl.SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
int CUserDlg::show()
{
if(!l_db.IsOpen ())
{
MessageBox("记录集打开错误");
return 0;
}
m_ListCtrl.DeleteAllItems();
//k_db.Requery();
int i=0;
if(!l_db.IsBOF ())l_db.MoveFirst ();
while(!l_db.IsEOF() )
{
CString s;
s.Format ("%d",i+1 );
m_ListCtrl.InsertItem (i,s,0);
m_ListCtrl.SetItemData (i,(DWORD)l_db.m_ID );
m_ListCtrl.SetItemText (i,0,s );
s.Format ("%s",l_db.m_column1 );
m_ListCtrl.SetItemText(i,1,s);
i++;
l_db.MoveNext ();
}
return i;
}
void CUserDlg::OnButton4()
{
// TODO: Add your control notification handler code here
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("没有记录被选择.");
}
else
{
int idx;
long id;
idx=m_ListCtrl.GetNextSelectedItem (pos);
id=m_ListCtrl.GetItemData (idx);
if(!l_db.IsBOF ())l_db.MoveFirst();
do
{
if(l_db.m_ID!=id)
l_db.MoveNext ();
else
{
l_db.Delete ();
l_db.Requery();
show();
return;
}
}while(!l_db.IsEOF ());
MessageBox("未找到记录");
}
}
void CUserDlg::OnCheck1()
{
if(!m_r)
{
UpdateData(FALSE);
UpdateData();
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("没有用户名被选择.");
m_r=FALSE;
UpdateData(FALSE);
}
else
{
int idx;
long id;
idx=m_ListCtrl.GetNextSelectedItem (pos);
id=m_ListCtrl.GetItemData (idx);
if(!l_db.IsBOF ())l_db.MoveFirst();
while(!l_db.IsEOF ())
{
if(l_db.m_ID!=id)
l_db.MoveNext ();
else
{
m_rusn=l_db.m_column1;
m_ropwdc.EnableWindow();
m_rnpwdc.EnableWindow();
m_addusnc.EnableWindow (FALSE);
m_addpwdc.EnableWindow (FALSE);
m_r=TRUE;
m_a=FALSE;
UpdateData(FALSE);
return;
}
}
MessageBox("未找到记录");
m_r=FALSE;
UpdateData(FALSE);
return;
}
////////////////////////////////////
// TODO: Add your control notification handler code here
}
else
{
m_ropwdc.EnableWindow(FALSE);
m_rnpwdc.EnableWindow(FALSE);
m_r=FALSE;
UpdateData(FALSE);
}
}
void CUserDlg::OnCheck2()
{
// TODO: Add your control notification handler code here
if(!m_a)
{
m_addusnc.EnableWindow();
m_addpwdc.EnableWindow();
m_ropwdc.EnableWindow(FALSE);
m_rnpwdc.EnableWindow(FALSE);
m_r=FALSE;
m_a=TRUE;
UpdateData(FALSE);
}
else
{
m_addusnc.EnableWindow(FALSE);
m_addpwdc.EnableWindow(FALSE);
m_a=FALSE;
UpdateData(FALSE);
}
}
void CUserDlg::OnAdd()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_addusn.GetLength ()<=0)
{
MessageBox("用户名不能为空");
m_addusnc.SetFocus ();
return;
}
if(m_addpwd.GetLength ()<=0)
{
MessageBox("密码不能为空");
m_addpwdc.SetFocus ();
return;
}
l_db.AddNew();
l_db.m_column1=m_addusn;
l_db.m_column2=m_addpwd;
l_db.Update ();
l_db.Requery();
show();
MessageBox("新加用户成功,请记住你的密码.");
m_addusn="";
m_addpwd="";
UpdateData(FALSE);
}
void CUserDlg::OnButton5()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_ropwd.GetLength ()<=0)
{
MessageBox("请输入原密码");
m_ropwdc.SetFocus ();
return;
}
if(m_rnpwd.GetLength ()<=0)
{
MessageBox("请输入新密码");
m_rnpwdc.SetFocus ();
return;
}
if(m_ropwd!=l_db.m_column2)
{
MessageBox("原密码错误,请重试.");
m_ropwd="";
UpdateData(FALSE);
m_ropwdc.SetFocus ();
return;
}
l_db.Edit();
//l_db.m_column1=m_ropwd;
l_db.m_column2=m_rnpwd;
l_db.Update ();
l_db.Requery();
MessageBox("密码修改成功,请记住新密码");
m_ropwd="";
m_rnpwd="";
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -