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

📄 userdialog.cpp

📁 短信猫: 1确认短信Modem未连接电源
💻 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 + -