📄 userscheckdlg.cpp
字号:
// UsersCheckDlg.cpp : implementation file
//
#include "stdafx.h"
#include "library.h"
#include "UsersCheckDlg.h"
#include "UsersSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUsersCheckDlg dialog
CUsersCheckDlg::CUsersCheckDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUsersCheckDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUsersCheckDlg)
m_radio = 0;
strContent = _T("");
//}}AFX_DATA_INIT
}
void CUsersCheckDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUsersCheckDlg)
DDX_Control(pDX, IDC_LIST1, m_ctrList);
DDX_Radio(pDX, IDC_RADIO1, m_radio);
DDX_Text(pDX, IDC_CONTENT, strContent);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUsersCheckDlg, CDialog)
//{{AFX_MSG_MAP(CUsersCheckDlg)
ON_BN_CLICKED(IDC_CHECK, OnCheck)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUsersCheckDlg message handlers
BOOL CUsersCheckDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_brush.CreateSolidBrush(RGB(0, 255, 0)); // 生成一绿色刷子
m_ctrList.InsertColumn(0,"读者ID");
m_ctrList.InsertColumn(1,"密码");
m_ctrList.InsertColumn(2,"权限");
m_ctrList.InsertColumn(3,"性别");
m_ctrList.InsertColumn(4,"姓名");
m_ctrList.InsertColumn(5,"地址");
m_ctrList.InsertColumn(6,"联系电话");
m_ctrList.InsertColumn(7,"email");
m_ctrList.InsertColumn(8,"班级");
m_ctrList.InsertColumn(9,"系别");
m_ctrList.InsertColumn(10,"专业");
m_ctrList.InsertColumn(11,"学号");
m_ctrList.InsertColumn(12,"所在单位");
m_ctrList.InsertColumn(13,"用户状态");
RECT rect;
m_ctrList.GetWindowRect(&rect);
int Width=rect.right-rect.left;
m_ctrList.SetColumnWidth(0,Width/12);
m_ctrList.SetColumnWidth(1,Width/12);
m_ctrList.SetColumnWidth(2,Width/12);
m_ctrList.SetColumnWidth(3,Width/12);
m_ctrList.SetColumnWidth(4,Width/12);
m_ctrList.SetColumnWidth(5,Width/12);
m_ctrList.SetColumnWidth(6,Width/12);
m_ctrList.SetColumnWidth(7,Width/12);
m_ctrList.SetColumnWidth(8,Width/12);
m_ctrList.SetColumnWidth(9,Width/12);
m_ctrList.SetColumnWidth(10,Width/12);
m_ctrList.SetColumnWidth(11,Width/12);
m_ctrList.SetColumnWidth(12,Width/12);
m_ctrList.SetColumnWidth(13,Width/12);
m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUsersCheckDlg::OnCheck()
{
// TODO: Add your control notification handler code here
UpdateData();
strContent.TrimLeft();
strContent.TrimRight();
if(strContent.IsEmpty())
{
MessageBox("请正确填入查询数据!","用户查询");
return ;
}
if(!m_database.IsOpen())
{
//连接数据源
if(!m_database.OpenEx("DSN=MySQL;UID=sa;PWD=123;CDatabase::noOdbcDialog"))
{
MessageBox("连接数据库失败!","新书登记入库",MB_OK|MB_ICONINFORMATION);
return;
}
}
CUsersSet *m_pset=new CUsersSet(&m_database);
CString strSQL;
if(m_radio ==0)
{
strSQL.Format("select * from USERS where Uid='%s'",strContent);
}
if(m_radio ==1)
{
strSQL.Format("select * from USERS where Uname='%s'",strContent);
}
if(m_radio ==2)
{
strSQL.Format("select * from USERS where Uaddress='%s'",strContent);
}
if(m_radio == 3)
{
strSQL.Format("select * from USERS where Ucorporation='%s'",strContent);
}
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
while(!m_pset->IsEOF())
{
m_pset->MoveNext();
m_pset->GetRecordCount();
}
if(m_pset->GetRecordCount()==0)
{
MessageBox("本馆没有该用户记录!","用户查询");
m_pset->Close();
m_database.Close();
return;
}
//处理表格
m_ctrList.DeleteAllItems();
m_pset->MoveFirst();
char buf[50]={'\0'};
CDBVariant var;
int i=0;
CString strTemp;
while(!m_pset->IsEOF())
{
//增加第i行记录
m_ctrList.InsertItem(i,buf);
//i行用户id字段
strTemp=m_pset->m_Uid;
m_ctrList.SetItemText(i,0,strTemp);
//密码
strTemp=m_pset->m_Upassword;
m_ctrList.SetItemText(i,1,strTemp);
//权限
strTemp.Format("%d",m_pset->m_Upower);
m_ctrList.SetItemText(i,2,strTemp);
//性别
strTemp=m_pset->m_Usex;
m_ctrList.SetItemText(i,3,strTemp);
//姓名
strTemp=m_pset->m_Uname;
m_ctrList.SetItemText(i,4,strTemp);
//地址
strTemp=m_pset->m_Uaddress;
m_ctrList.SetItemText(i,5,strTemp);
//联系电话
strTemp=m_pset->m_Utel;
m_ctrList.SetItemText(i,6,strTemp);
//email
strTemp=m_pset->m_Uemail;
m_ctrList.SetItemText(i,7,strTemp);
//班级
strTemp=m_pset->m_Uclass;
m_ctrList.SetItemText(i,8,strTemp);
//系别
strTemp=m_pset->m_Udepartment;
m_ctrList.SetItemText(i,9,strTemp);
//专业
strTemp=m_pset->m_Umajor;
m_ctrList.SetItemText(i,10,strTemp);
//学号
strTemp=m_pset->m_Uclassno;
m_ctrList.SetItemText(i,11,strTemp);
//单位
strTemp=m_pset->m_Ucorporation;
m_ctrList.SetItemText(i,12,strTemp);
//用户状态
strTemp=m_pset->m_Ureadstat;
m_ctrList.SetItemText(i,13,strTemp);
i++;
m_pset->MoveNext();
UpdateData(FALSE);
}
m_pset->Close();
m_database.Close();
}
void CUsersCheckDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
m_radio=0;
}
void CUsersCheckDlg::OnRadio2()
{
// TODO: Add your control notification handler code here
m_radio=1;
}
void CUsersCheckDlg::OnRadio3()
{
// TODO: Add your control notification handler code here
m_radio=2;
}
void CUsersCheckDlg::OnRadio4()
{
// TODO: Add your control notification handler code here
m_radio=3;
}
HBRUSH CUsersCheckDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor ==CTLCOLOR_DLG)
return m_brush; //返加绿色刷子
if(nCtlColor==CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0,0,255));
pDC->SetBkMode(TRANSPARENT);
}
if(nCtlColor==CTLCOLOR_STATIC)
{
//pDC->SetBkColor(RGB(0, 255, 0));
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
}
if(nCtlColor== CTLCOLOR_LISTBOX)
{
pDC->SetTextColor(RGB(0,0,255));
//pDC->SetBkMode(TRANSPARENT);
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -