You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TwoLaserHead-PushJig/LaiPuLaser/DlgUserMgr.cpp

108 lines
2.5 KiB
C++

#include "stdafx.h"
#include "LaiPuLaser.h"
#include "DlgUserMgr.h"
#include "afxdialogex.h"
#include "MsgBox.h"
#include "AuthorityMgr.h"
#include "DlgCreatAccount.h"
IMPLEMENT_DYNAMIC(CDlgUserMgr, CDialogEx)
CDlgUserMgr::CDlgUserMgr(CWnd* pParent /*=NULL*/)
: CDialogEx(CDlgUserMgr::IDD, pParent)
{
m_CurSelIdx = -1;//<2F><>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
CDlgUserMgr::~CDlgUserMgr()
{
}
void CDlgUserMgr::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_USER_LIST, m_UserList);
}
BEGIN_MESSAGE_MAP(CDlgUserMgr, CDialogEx)
ON_NOTIFY(NM_CLICK, IDC_USER_LIST, &CDlgUserMgr::OnNMClickUserList)
ON_BN_CLICKED(IDC_DEL_SEL, &CDlgUserMgr::OnBnClickedDelSel)
ON_BN_CLICKED(IDC_CREAT, &CDlgUserMgr::OnBnClickedCreatAccount)
END_MESSAGE_MAP()
//<2F>ػ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL CDlgUserMgr::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN)
{
char c = pMsg->wParam;
if(c==VK_RETURN || c==VK_ESCAPE)
{
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
BOOL CDlgUserMgr::OnInitDialog()
{
CDialogEx::OnInitDialog();
IniUserList();
UpdateUserList();
UpdateData(FALSE);
return TRUE;
}
void CDlgUserMgr::IniUserList()
{
//<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>
m_UserList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int idx = 0;
m_UserList.InsertColumn(idx,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",LVCFMT_CENTER,50,-1);
idx++;
m_UserList.InsertColumn(idx,"<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>",LVCFMT_CENTER,90,-1);
}
void CDlgUserMgr::UpdateUserList()
{
m_UserList.DeleteAllItems();
gAuthorityMgr->InsertToList(m_UserList);
UpdateData(FALSE);
}
//<2F><>ȡlist <20><>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
int CDlgUserMgr::GetCurListIdx(CListCtrl &list)
{
POSITION pos = list.GetFirstSelectedItemPosition();
if (pos == NULL)
{
return -1;
}
else
{
while (pos)
{
int nItem = list.GetNextSelectedItem(pos);
return nItem;
}
}
return -1;
}
void CDlgUserMgr::OnNMClickUserList(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
*pResult = 0;
m_CurSelIdx=GetCurListIdx(m_UserList);
}
void CDlgUserMgr::OnBnClickedDelSel()
{
gAuthorityMgr->DelUser(m_CurSelIdx);
UpdateUserList();
}
void CDlgUserMgr::OnBnClickedCreatAccount()
{
if(gAuthorityMgr->CheckAuthority(_ADMIN,true)==false)
{
return;
}
CDlgCreatAccount dlg;
dlg.DoModal();
UpdateUserList();
}