📄 usersdlg.cpp
字号:
// UsersDlg.cpp : implementation file
//
#include "stdafx.h"
#include "tvnews.h"
#include "UsersDlg.h"
#include "Users.h"
#include "UsersInfDlg.h"
#include "Channel.h"
#include "Column.h"
#include "Role.h"
#include "UserSerch.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUsersDlg dialog
CUsersDlg::CUsersDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUsersDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUsersDlg)
m_strBJ = _T("");
m_strREP = _T("");
m_strTZ = _T("");
m_strZJ = _T("");
//}}AFX_DATA_INIT
}
void CUsersDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUsersDlg)
DDX_Control(pDX, IDC_TREE1, m_Tree);
DDX_Control(pDX, IDC_LIST1, m_userList);
DDX_Text(pDX, IDC_STATIC_BJ, m_strBJ);
DDX_Text(pDX, IDC_STATIC_REP, m_strREP);
DDX_Text(pDX, IDC_STATIC_TZ, m_strTZ);
DDX_Text(pDX, IDC_STATIC_ZJ, m_strZJ);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUsersDlg, CDialog)
//{{AFX_MSG_MAP(CUsersDlg)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_BTNUPDATE_RINFO, OnBtnupdateEdt)
ON_BN_CLICKED(IDC_BTNUPDATE_RINFO2, OnBtnupdateIns)
ON_WM_SHOWWINDOW()
ON_BN_CLICKED(IDC_BTNUPDATE_RINFO3, OnBtnupdateRinfo3)
ON_BN_CLICKED(IDC_BUTTON_QUERY, OnButtonQuery)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, OnSelchangedTree1)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUsersDlg message handlers
BOOL CUsersDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_userList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_userList.InsertColumn(0,_T("ID"));
m_userList.SetColumnWidth(0,0);
m_userList.InsertColumn(1,_T("登录名称"));
m_userList.SetColumnWidth(1,150);
m_userList.InsertColumn(2,_T("登录口令"));
m_userList.SetColumnWidth(2,150);
m_userList.InsertColumn(3,_T("真实姓名"));
m_userList.SetColumnWidth(3,150);
m_userList.InsertColumn(4,_T("性别"));
m_userList.SetColumnWidth(4,100);
m_userList.InsertColumn(5,_T("角色"));
m_userList.SetColumnWidth(5,150);
m_userList.InsertColumn(6,_T("频道"));
m_userList.SetColumnWidth(6,150);
m_userList.InsertColumn(7,_T("栏目"));
m_userList.SetColumnWidth(7,150);
SetTimer(1,1000,NULL);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUsersDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//-- Get the number of selected rows
int nSelRows = m_userList.GetSelectedCount();
if(!nSelRows) //-- If there are no rows selected,jump out here
return;
//-- Get the position of the first selected row
POSITION pos =m_userList.GetFirstSelectedItemPosition();
//-- Get the index of next selected row
int i = m_userList.GetNextSelectedItem(pos);
if (i != -1) //-- Execute this loop as long as GetNextSelectedItem() returns -1
{
selectID= atoi(m_userList.GetItemText(i, 0));
}
*pResult = 0;
return;
}
void CUsersDlg::OnBtnupdateEdt()
{
CString strSelItem;
// TODO: Add your control notification handler code here
if(m_userList.GetSelectedCount()==0)
{
MessageBox("请选择要编辑的行!");
return;
}
CUsersInfDlg UsersInfDlg;
UsersInfDlg.Type=1;
UsersInfDlg.iUID=selectID;
UsersInfDlg.DoModal();
ChannelID=0;
ColumnID=0;
RoleID=-1;
LogName="";
UserName="";
Sex="";
Refresh();
}
void CUsersDlg::OnBtnupdateIns()
{
// TODO: Add your control notification handler code here
CUsersInfDlg UsersInfDlg;
UsersInfDlg.Type=0;
UsersInfDlg.DoModal();
ChannelID=0;
ColumnID=0;
RoleID=-1;
LogName="";
UserName="";
Sex="";
Refresh();
}
void CUsersDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);
// TODO: Add your message handler code here
CUsers Users;
Users.ShowList(m_userList);
CColumn Column;
Column.ShowTree(m_Tree," AND Channel.UID<>0 ");
CStringArray UserInf;
Users.GetUsersInf(UserInf);
m_strREP=_T(UserInf.GetAt(0));
m_strBJ=_T(UserInf.GetAt(1));
m_strZJ=_T(UserInf.GetAt(2));
m_strTZ=_T(UserInf.GetAt(2));
UpdateData(false);
}
void CUsersDlg::Refresh()
{
CString strSQL="";
CString strID;
if(ChannelID==0)
{
strSQL=strSQL+" ";
}
else
{
strID.Format("%d",ChannelID);
strSQL=strSQL+" and userchannel.ChannelID= "+strID;
}
if(ColumnID==0)
{
strSQL=strSQL+" ";
}
else
{
strID.Format("%d",ColumnID);
strSQL=strSQL+ " and ( userchannel.ColumnID= "+strID + " or userchannel.ColumnID= 0 ) ";
}
if(RoleID==-1)
{
strSQL=strSQL+" ";
}
else
{
strID.Format("%d",RoleID);
strSQL=strSQL+ " and userchannel.RoleID= "+strID;
}
if(Sex=="")
{
strSQL=strSQL+" ";
}
else
{
strSQL=strSQL+ " and Sex= '"+Sex + "'";
}
if(UserName=="")
{
strSQL=strSQL+" ";
}
else
{
strSQL=strSQL + " and Users.Name like '%"+UserName + "%'";
}
if(LogName=="")
{
strSQL=strSQL+" ";
}
else
{
strSQL=strSQL + " and LoginName like '%" + LogName + "%'";
}
CUsers Users;
Users.ShowList(m_userList,strSQL);
}
void CUsersDlg::OnBtnupdateRinfo3()
{
// TODO: Add your control notification handler code here
if(m_userList.GetSelectedCount()==0)
{
MessageBox("请选择要删除的行!");
return;
}
if(MessageBox("你确定要删除该用户吗?","询问信息", MB_YESNO ) == IDYES)
{
CUsers Users;
long iFlg;
CString cMessage;
Users.sql_delete(selectID,iFlg,cMessage);
if(1==iFlg)
{
Users.ShowList(m_userList,"");
}
else
{
MessageBox(cMessage);
}
}
}
void CUsersDlg::OnButtonQuery()
{
// TODO: Add your control notification handler code here
CUserSerch UserSerch;
UserSerch.DoModal();
ChannelID=UserSerch.ChannelID;
ColumnID=UserSerch.ColumnID;
RoleID=UserSerch.RoleID;
if("男"==UserSerch.m_Sex)
{
Sex="0";
}
else if("女"==UserSerch.m_Sex)
{
Sex="1";
}
else
{
Sex="";
}
UserSerch.m_UserName.TrimRight();
UserSerch.m_UserName.TrimLeft();
UserSerch.m_LogName.TrimRight();
UserSerch.m_LogName.TrimLeft();
UserName = UserSerch.m_UserName;
LogName = UserSerch.m_LogName;
Refresh();
}
void CUsersDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//-- Get the number of selected rows
int nSelRows = m_userList.GetSelectedCount();
if(!nSelRows) //-- If there are no rows selected,jump out here
return;
//-- Get the position of the first selected row
POSITION pos =m_userList.GetFirstSelectedItemPosition();
//-- Get the index of next selected row
int i = m_userList.GetNextSelectedItem(pos);
if (i != -1) //-- Execute this loop as long as GetNextSelectedItem() returns -1
{
selectID= atoi(m_userList.GetItemText(i, 0));
}
OnBtnupdateEdt() ;
*pResult = 0;
}
void CUsersDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
HTREEITEM SelectItem = m_Tree.GetSelectedItem();
CString strSelect = m_Tree.GetItemText(SelectItem);
CChannel Channel;
CColumn Column;
HTREEITEM parent1= m_Tree.GetParentItem(SelectItem);
if(parent1==NULL)
{
ChannelID = 0;
ColumnID=0;
}
else
{
HTREEITEM parent2= m_Tree.GetParentItem(parent1);
if(parent2==NULL)
{
ChannelID = Channel.GetIDByName(strSelect);
ColumnID = 0;
}
else
{
ColumnID = Column.GetIDByName(strSelect);
HTREEITEM ParentItem = m_Tree.GetParentItem(SelectItem);
CString strParent = m_Tree.GetItemText(ParentItem);
ChannelID = Channel.GetIDByName(strParent);
}
}
RoleID=-1;
Sex="";
UserName="";
LogName="";
Refresh();
*pResult = 0;
}
void CUsersDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CUsers Users;
CStringArray UserInf;
Users.GetUsersInf(UserInf);
m_strREP=_T(UserInf.GetAt(0));
m_strBJ=_T(UserInf.GetAt(1));
m_strZJ=_T(UserInf.GetAt(2));
m_strTZ=_T(UserInf.GetAt(3));
UpdateData(false);
CDialog::OnTimer(nIDEvent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -