📄 userdialog.cpp
字号:
// UserDialog.cpp : implementation file
//
#include "stdafx.h"
#include "短信群发.h"
#include "UserDialog.h"
#include "into.h"
#include "DetelUser.h"
#include "MdifyPWD.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUserDialog dialog
CUserDialog::CUserDialog(CWnd* pParent /*=NULL*/)
: CDialog(CUserDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CUserDialog)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CUserDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserDialog)
DDX_Control(pDX, IDC_LIST1, m_stateList);
DDX_Control(pDX, IDC_TAB1, m_userTab);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserDialog, CDialog)
//{{AFX_MSG_MAP(CUserDialog)
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
ON_WM_DESTROY()
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemchangedList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUserDialog message handlers
BOOL CUserDialog::OnInitDialog()
{
CDialog::OnInitDialog();
//初始化标签控件
if (!mark)
{
m_addUser = new CAddUser();
m_detelUser = new CDetelUser();
m_mdifyPwd = new CMdifyPWD();
m_addUser->Create(IDD_ADD_USER,GetDlgItem(IDC_TAB1));
m_detelUser->Create(IDD_DETEL_USER,GetDlgItem(IDC_TAB1));
m_mdifyPwd->Create(IDD_MODIFY_PWD,GetDlgItem(IDC_TAB1));
m_userTab.InsertItem(0,"添加用户");
m_userTab.InsertItem(1,"修改或者删除用户");
m_userTab.InsertItem(2,"修改密码");
}
else
{
m_mdifyPwd = new CMdifyPWD();
m_mdifyPwd->Create(IDD_MODIFY_PWD,GetDlgItem(IDC_TAB1));
m_userTab.InsertItem(0,"修改密码");
}
m_userTab.SetMinTabWidth(80);
m_userTab.SetPadding(CSize(2,3));
m_userTab.SetCurSel(0);
DoTab(0);
//初始化列表视图
LV_COLUMN lvc;
char * display[4]={"用户名","密码","用户权限","创建时间"};
lvc.mask=LVCF_FMT|LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH;
lvc.fmt=LVCFMT_LEFT;
lvc.cx=111;
for(int i=0;i<4;i++){ //插入各列
lvc.iSubItem=i;
lvc.pszText=display[i];
m_stateList.InsertColumn(i,&lvc);
}
if (!mark)
{
printList();
}
else
{
printList1();
}
m_stateList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUserDialog::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
int curSel;
curSel=m_userTab.GetCurSel();
if(curSel>=0)
{
DoTab(curSel);
}
*pResult = 0;
}
void CUserDialog::SetDlgState(CWnd *pWnd, BOOL bShow)
{
pWnd->EnableWindow(bShow);
if(bShow)
{
pWnd->ShowWindow(SW_SHOW);
pWnd->CenterWindow();
}
else
pWnd->ShowWindow(SW_HIDE);
}
void CUserDialog::DoTab(int nTab)
{
if (nTab>2) nTab=2;
if (nTab<0) nTab=0;
BOOL bTab[3];
bTab[0]=bTab[1]=bTab[2]=false;
bTab[nTab]=true;
if (!mark)
{
SetDlgState(m_addUser,bTab[0]);
SetDlgState(m_detelUser,bTab[1]);
SetDlgState(m_mdifyPwd,bTab[2]);
}
else
{
SetDlgState(m_mdifyPwd,bTab[0]);
}
}
void CUserDialog::OnDestroy()
{
CDialog::OnDestroy();
if (!mark)
{
if(m_addUser) delete m_addUser;
if(m_detelUser) delete m_detelUser;
if(m_mdifyPwd) delete m_mdifyPwd;
}
else
{
if(m_mdifyPwd) delete m_mdifyPwd;
}
}
BOOL CUserDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_KEYDOWN)
{
if (pMsg->wParam==VK_RETURN) return TRUE;
if (pMsg->wParam==VK_ESCAPE) return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
void CUserDialog::printList()
{
CString strSql;
CString username;
int authority;
CString passwd;
COleDateTime time;
CString strtime;
CADORecordset record;
LV_ITEM lvi;
int count =0;
char * strAuth[2]={"管理用户","普通用户"};
lvi.mask=LVIF_TEXT;
strSql=_T("select * from users");
BOOL ret=record.Open(db.m_pConnection,strSql,0);
if (ret)
{
if (record.IsBof())
{
record.MoveFirst();
}
m_stateList.DeleteAllItems();
while (!record.IsEof())
{
lvi.iSubItem=0;
lvi.iItem=count;
record.GetFieldValue("USERNAME",username);
record.GetFieldValue("AUTHORITY",authority);
record.GetFieldValue("PASSWD",passwd);
record.GetFieldValue("CREATETIME",time);
strtime=time.Format("%Y-%m-%d %H:%M");
lvi.pszText=(LPTSTR)(LPCTSTR)username;
m_stateList.InsertItem(&lvi);
m_stateList.SetItemText(count,1,passwd);
m_stateList.SetItemText(count,2,strAuth[authority]);
m_stateList.SetItemText(count,3,strtime);
record.MoveNext();
count++;
}
}
else
{
AfxMessageBox("读取数据失败!");
}
}
void CUserDialog::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->uNewState==0)
{
m_detelUser->m_userName.Empty();
m_detelUser->m_oldPwd.Empty();
m_detelUser->UpdateData(FALSE);
m_mdifyPwd->m_oldPwd.Empty();
m_mdifyPwd->m_userName.Empty();
m_mdifyPwd->UpdateData(FALSE);
return;
}
CString strAuth;
if (!mark)
{
m_detelUser->m_userName=m_stateList.GetItemText(pNMListView->iItem,0);
m_detelUser->m_oldPwd=m_stateList.GetItemText(pNMListView->iItem,1);
strAuth=m_stateList.GetItemText(pNMListView->iItem,2);
if (strAuth=="普通用户")
{
m_detelUser->m_authority=1;
}
else
{
m_detelUser->m_authority=0;
}
m_detelUser->UpdateData(false);
m_mdifyPwd->m_userName=m_stateList.GetItemText(pNMListView->iItem,0);
m_mdifyPwd->m_oldPwd=m_stateList.GetItemText(pNMListView->iItem,1);
m_mdifyPwd->m_authority=m_stateList.GetItemText(pNMListView->iItem,2);
m_mdifyPwd->UpdateData(false);
}
else
{
m_mdifyPwd->m_userName=m_stateList.GetItemText(pNMListView->iItem,0);
m_mdifyPwd->m_oldPwd=m_stateList.GetItemText(pNMListView->iItem,1);
m_mdifyPwd->m_authority=m_stateList.GetItemText(pNMListView->iItem,2);
m_mdifyPwd->UpdateData(false);
}
*pResult = 0;
}
void CUserDialog::printList1()
{
char * strAuth[2]={"管理用户","普通用户"};
LV_ITEM lvi;
CString strtime;
CString strName=pub.m_strUserName;
CString strPwd=pub.m_strpwd;
lvi.mask=LVIF_TEXT;
lvi.iSubItem=0;
lvi.iItem=0;
m_stateList.DeleteAllItems();
strtime=pub.m_time.Format("%Y-%m-%d %H:%M");
lvi.pszText=(LPTSTR)(LPCTSTR)strName;
m_stateList.InsertItem(&lvi);
m_stateList.SetItemText(0,1,strPwd);
m_stateList.SetItemText(0,2,strAuth[mark]);
m_stateList.SetItemText(0,3,strtime);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -