📄 accountlist.cpp
字号:
// AccountList.cpp: implementation of the AccountList class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "sm.h"
#include "AccountList.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//##ModelId=40A481F703C9
AccountList::AccountList(CListCtrl * plist):BaseList(plist)
{
}
//##ModelId=40A481F703CB
AccountList::~AccountList()
{
}
//##ModelId=40A481F703C8
void AccountList::Init()
{
pList->InsertColumn(0, _T("ID"), LVCFMT_LEFT, 50);
pList->InsertColumn(1, _T("帐号"), LVCFMT_LEFT, 120);
pList->InsertColumn(2, _T("密码"), LVCFMT_LEFT, 120);
}
//##ModelId=40A481F703BB
void AccountList::Load()
{
Clear();
LoadData();
CString s;
vector<Account>::iterator iter;
long i = 0;
for(iter=Accounts.begin(), i=0; iter!=Accounts.end(); iter++, i++)
{
s.Format("%3d", iter->ID);
pList->InsertItem(i, s);
pList->SetItem(i, 1, LVIF_TEXT, iter->Name, 0, 0, 0, 0);
pList->SetItem(i, 2, LVIF_TEXT, "******", 0, 0, 0, 0);
pList->SetItemData(i, iter->ID);
}
pList->SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
}
//##ModelId=40A481F703BA
void AccountList::LoadData()
{
CDaoTableDef TD(&theDatabase);
TD.Open("account");
CDaoRecordset RS;
RS.Open(&TD);
Accounts.clear();
while(!RS.IsEOF())
{
Accounts.push_back(Account(RS.GetFieldValue("id").lVal,
V_BSTRT(&RS.GetFieldValue("name")),
V_BSTRT(&RS.GetFieldValue("pass"))
)
);
RS.MoveNext();
}
RS.Close();
TD.Close();
}
//##ModelId=40A481F703B9
void AccountList::Clear()
{
BaseList::Clear();
Accounts.clear();
}
//##ModelId=40A481F7039A
Account& AccountList::GetSelectedAccount()
{
if(IsSelected())
{
return Accounts[GetSelected()];
}
else
return Accounts[0];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -