首先添加一个combobox控件,控件添加m_cbExample变量,此外添加“记住密码”复选框。
之后在CLoginDlg::OnInitDialog()函数里调用函数_OnSetComboBox(),此函数主要是进行下拉框用户名记录的显示,用户名及密码存储在UserInfo.ini文件里,存储格式为"用户名","密码","复选框状态",复选框状态为0或者1,代码如下:
void CLoginDlg::_OnSetComboBox()
{
// TODO: 在此添加控件通知处理程序代码
m_cbExample.ResetContent();//清理下拉框列表
m_cbExample.SetItemHeight(0, 30);//设置下拉选项高度
/*m_cbExample.SetFont(pFont, 1);*/
if (!PathFileExists(_T(".\\UserInfo.ini")))//判断文件是否存在
{
return;
}
CString strFileName = _T(".\\UserInfo.ini");
CString szLine = _T("");
//打开文件
CStdioFile file;
file.Open(strFileName, CFile::modeRead);
//逐行读取字符串
while (file.ReadString(szLine))
{
//查找逗号
char a = ',';
size_t pos = szLine.Find(a);
CString username = szLine.Left(pos);//截取用户名
if (username.GetLength()!=0)
{
m_cbExample.AddString(username);//显示到combobox控件上
}
}
//关闭文件
file.Close();
}
然后对combobox控件的CBN_SELCHANGE和CBN_EDITCHANGE消息添加处理函数,CBN_SELCHANGE消息是当combobox控件中的多个用户名被选中项切换的消息,处理函数为OnSelchangeEditUser(),而CBN_EDITCHANGE是当combobox控件里的内容被编辑时的消息,处理函数为OnEditchangeEditUser(),_SearchFromFile(CString username, CString& password ,CString& flag)函数根据用户名查询文件并获取相应密码。
void CLoginDlg::OnSelchangeEditUser()
{
// TODO: 在此添加控件通知处理程序代码
CString username;
int nSel;
// 获取组合框控件的列表框中选中项的索引
nSel = m_cbExample.GetCurSel();
// 根据选中项索引获取该项字符串
m_cbExample.GetLBText(nSel, username);
CString s;
CString flag;
_Sea


&spm=1001.2101.3001.5002&articleId=80853997&d=1&t=3&u=613bf30e00a74775a456f45dcd7ab496)

被折叠的 条评论
为什么被折叠?



