【VC开源代码栏目提醒】:本文主要为网学会员提供DlgUserPurview.cpp,希望对需要DlgUserPurview.cpp网友有所帮助,学习一下!
// DlgUserPurview.cpp : implementation file
//
#include "stdafx.h"
#include "a1.h"
#include "DlgUserPurview.h"
#include "DlgPurview.h"
#include "DialogUsers.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgUserPurview dialog
CDlgUserPurview::CDlgUserPurview(CWnd* pParent /*=NULL*/)
: CDialog(CDlgUserPurview::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgUserPurview)
//}}AFX_DATA_INIT
}
void CDlgUserPurview::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgUserPurview)
DDX_Control(pDX, IDC_LIST1, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgUserPurview, CDialog)
//{{AFX_MSG_MAP(CDlgUserPurview)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButton1)
ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButton2)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgUserPurview message handlers
void CDlgUserPurview::OnOK()
{
int mark=this->m_list.GetSelectionMark();
if(mark<0)return ;
m_sSelectedUser=this->m_list.GetItemText(mark,0);
CString sql;
_variant_t value;
sql.Format("select admi_purview from tabpurview where admi_name ='%s'",m_sSelectedUser);
m_runsql.CheckSQLResult(sql);
value=m_runsql.m_recordset->GetCollect("admi_purview");
CDlgPurview dlg;
dlg.m_iOldPurview=value.intVal;
dlg.m_iPurview=value.intVal;
dlg.m_iNewPurview=value.intVal;
if(dlg.DoModal()==IDOK)
{
CString sql;
sql.Format("update tabpurview set admi_purview=%d where admi_name ='%s'",dlg.m_iPurview,this->m_sSelectedUser);
m_runsql.RunSQL(sql);
}
this->InitList();
}
BOOL CDlgUserPurview::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect;
m_list.SetExtendedStyle( LVS_EX_FULLROWSELECT | //允许整行选中
// LVS_EX_HEADERDRAGDROP | //允许整列拖动
LVS_EX_GRIDLINES | //画出网格线
// LVS_EX_ONECLICKACTIVATE | //单击选中表项
LVS_EX_FLATSB //扁平风格的滚动条
// LVS_EX_UNDERLINEHOT
);
this->m_list.GetClientRect(rect);
m_list.InsertColumn(0,"用户名称");
m_list.InsertColumn(1,"用户权限");
m_list.SetColumnWidth(0,rect.Width()/2);
m_list.SetColumnWidth(1,rect.Width()/2);
this->InitList();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgUserPurview::OnButton1()
{
CDialogUsers dlg;
if(dlg.DoModal()==IDOK)
{ int i=m_list.GetItemCount();
m_list.InsertItem(i,dlg.m_strName);
m_list.SetItemText(i,1,dlg.m_strPurview);
}
}
void CDlgUserPurview::OnButton2()
{
int mark=this->m_list.GetSelectionMark();
if(mark<0)return ;
m_sSelectedUser=this->m_list.GetItemText(mark,0);
m_list.DeleteItem(mark);
CString sql;
sql.Format("delete * from tabpurview where admi_name = '%s'",m_sSelectedUser);
m_runsql.RunSQL(sql);
}
bool CDlgUserPurview::InitList()
{
try{
int i=0;
CString sql;
_variant_t value;
sql.Format("select * from tabpurview");
this->m_runsql.CheckSQLResult(sql);
m_list.DeleteAllItems();
m_list.SetRedraw(false);
while(!m_runsql.m_recordset->adoEOF)
{//超级用户,管理员,标准用户,一般用户
value=m_runsql.m_recordset->GetCollect("admi_name");
this->m_list.InsertItem(i,(char*)(_bstr_t)value);
value=m_runsql.m_recordset->GetCollect("admi_purview");
short int purview=value.intVal;
switch(purview)
{
case 3:
this->m_list.SetItemText(i,1,"一般用户");
break;
case 2:
this->m_list.SetItemText(i,1,"标准用户");
break;
case 1:
this->m_list.SetItemText(i,1,"管理员");
break;
case 0:
this->m_list.SetItemText(i,1,"超级用户");
break;
}
i++;
m_runsql.m_recordset->MoveNext();
}
m_list.SetRedraw(true);
}
catch(_com_error& e)
{
AfxMessageBox(e.ErrorMessage());
m_list.SetRedraw(true);
return false;
}
return true;
}
void CDlgUserPurview::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
OnOK();
*pResult = 0;
}
上一篇:
ClassInfoForm.pas
下一篇:
贪心算法论文终稿