由于发错了区((发到高级开发),所以改发到这里1创建一个基于MFC的主对话框
2创建一个登录对话框
也就是说想在登录对话框输入正确的用户名和密码后,才显示主对话框在ClassWizard窗口中添加CHrSysDlg::OnInitDialog()函数,并在其中添加如下代码:(HrSysDlg是主窗口)
CLoginDlg dlg; //启动登陆窗体
if (dlg.DoModal() != IDOK)
OnOK();
else
{ CUsers curUser;
// 读取用户信息到curUser对象中
curUser.GetData(dlg.m_UserName);}
通过调用curUser.GetData(dlg.m_UserName)能通过用户和密码的验证,但是比如说运行程序的时候,首先弹出的是登录对话框,输入用户和密码后,点击 “确定”后,就登录对话框消失,但是主对话框没有出现.
当然如果没有以上的代码,就会直接弹出主对话框的.请问为什么主对话框没有出现呢?请会的朋友帮忙回答,谢谢有位朋友说是由于对话框要赋予载体才可以表示,你第一个对话框关闭后,第二个没有刷新,所以出不来。
请会的朋友帮忙回答,再次先下了
2创建一个登录对话框
也就是说想在登录对话框输入正确的用户名和密码后,才显示主对话框在ClassWizard窗口中添加CHrSysDlg::OnInitDialog()函数,并在其中添加如下代码:(HrSysDlg是主窗口)
CLoginDlg dlg; //启动登陆窗体
if (dlg.DoModal() != IDOK)
OnOK();
else
{ CUsers curUser;
// 读取用户信息到curUser对象中
curUser.GetData(dlg.m_UserName);}
通过调用curUser.GetData(dlg.m_UserName)能通过用户和密码的验证,但是比如说运行程序的时候,首先弹出的是登录对话框,输入用户和密码后,点击 “确定”后,就登录对话框消失,但是主对话框没有出现.
当然如果没有以上的代码,就会直接弹出主对话框的.请问为什么主对话框没有出现呢?请会的朋友帮忙回答,谢谢有位朋友说是由于对话框要赋予载体才可以表示,你第一个对话框关闭后,第二个没有刷新,所以出不来。
请会的朋友帮忙回答,再次先下了
设置了一个登录的对话框类,如下:
void CloginDlg::OnOK()
{
// TODO: Add your control notification handler code here
//将对话框中编辑框的数据读取到成员变量中
UpdateData(TRUE);
//检查数据有效性
if (m_UserName == "")
{
MessageBox("请输入用户名");
return;
}
if (m_PWD == "")
{
MessageBox("请输入密码");
return;
}
//定义CUsers对象,用于从表Users中读取数据
CUsers user;
user.GetData(m_UserName);
//如果读取的数据与用户输入数据不同,则返回
if (user.UserPwd != m_PWD)
{
MessageBox("用户信息不正确,无法登录!");
return;
}
//关闭对话框
CDialog::OnOK()
}
======================================================
void CUsers::GetData(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Users WHERE UserName='" + cUserName + "'";
//执行SELETE语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL); //返回各列的值
if (m_pRecordset->adoEOF)
CUsers();
else
{
UserName = cUserName;
UserPwd = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserPwd");
UserType = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserType"));
}
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
--------------------------------------
你的主窗口和你的登陆窗口是在同一个面板里不?
我不太明白你的意思
不过我是这样做的
1首先基于MFC创建了一个基于对话框的工程,得到一个主窗口。
2点击 resourceview 右键点击 Dialog后 选择 insert dialog ,就添加了一个窗口作为登录的窗口。