📄 usermanagedlg.cpp
字号:
// UserManageDlg.cpp : implementation file
//
#include "stdafx.h"
#include "库存管理系统.h"
#include "UserManageDlg.h"
#include "Columns.h"
#include "Column.h"
#include "UM_ADDDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUserManageDlg dialog
CUserManageDlg::CUserManageDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUserManageDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUserManageDlg)
// NOTE: the ClassWizard will add member initialization here
m_pConnection=((CMyApp *)AfxGetApp())->m_nConnection;
//}}AFX_DATA_INIT
}
void CUserManageDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserManageDlg)
DDX_Control(pDX, IDC_DG_UserMana, m_dbUM);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserManageDlg, CDialog)
//{{AFX_MSG_MAP(CUserManageDlg)
ON_BN_CLICKED(IDC_UM_ADD, OnUmAdd)
ON_BN_CLICKED(IDC_UM_ALTER, OnUmAlter)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CUserManageDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// TODO: Add extra initialization here
//初始化记录集对象
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
//打开记录集
m_pRecordset->Open("select * from 用户",_variant_t((IDispatch *)m_pConnection,true),
adOpenStatic,adLockPessimistic,adCmdText);
}
catch(_com_error &e)//捕捉异常
{
AfxMessageBox(e.ErrorMessage());
return FALSE;
}
//绑定数据源
m_dbUM.SetRefDataSource(NULL);
m_dbUM.SetRefDataSource((LPUNKNOWN) m_pRecordset);
m_dbUM.SetColumnHeaders(2);
//设置列宽和列头
_variant_t vIndex;
vIndex = long(0);
m_dbUM.GetColumns().GetItem(vIndex).SetWidth(100);
m_dbUM.GetColumns().GetItem(vIndex).SetCaption("ID");
vIndex = long(1);
m_dbUM.GetColumns().GetItem(vIndex).SetWidth(100);
m_dbUM.GetColumns().GetItem(vIndex).SetCaption("密码");
vIndex = long(2);
m_dbUM.GetColumns().GetItem(vIndex).SetWidth(100);
m_dbUM.GetColumns().GetItem(vIndex).SetCaption("地位");
//显示更新
m_dbUM.Refresh();
return TRUE; // return TRUE unless you set the focus to a control
}
/////////////////////////////////////////////////////////////////////////////
// CUserManageDlg message handlers
void CUserManageDlg::OnOK()
{
// TODO: Add extra validation here
CDialog::OnOK();
}
void CUserManageDlg::OnUmAdd()
{
// TODO: Add extra validation here
CUM_ADDDlg dlg;
dlg.DoModal();
CUserManageDlg::OnInitDialog();
}
BEGIN_EVENTSINK_MAP(CUserManageDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CUserManageDlg)
ON_EVENT(CUserManageDlg, IDC_DG_UserMana, 221 /* SelChange */, OnSelChangeDGUserMana, VTS_PI2)
ON_EVENT(CUserManageDlg, IDC_DG_UserMana, -601 /* DblClick */, OnDblClickDGUserMana, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CUserManageDlg::OnSelChangeDGUserMana(short FAR* Cancel)
{
// TODO: Add your control notification handler code here
}
void CUserManageDlg::OnUmAlter()
{
// TODO: Add your control notification handler code here
long i=m_dbUM.GetRow();
CString s;
s.Format(_T("%ld"),i);
MessageBox(s);
}
void CUserManageDlg::OnDblClickDGUserMana()
{
// TODO: Add your control notification handler code here
CString sRecord;
sRecord="ID: "+m_dbUM.GetItem(0)+"\n";
sRecord+="密码: "+m_dbUM.GetItem(1)+"\n";
sRecord+="地位: "+m_dbUM.GetItem(0)+"\n";
MessageBox(sRecord);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -