MFC登录界面实现类似QQ的功能(详细步骤及代码)

 

首先添加一个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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值