在登录界面中,
当点击“登录”按钮时,
程序里是如何与数据库连接并验证用户名与密码的正确性的呢?
刚开始怎样隐藏主界面?
在登录进去以后又是如何显示主界面的啊?
请高手给点指导,谢啦!
呵呵……
当点击“登录”按钮时,
程序里是如何与数据库连接并验证用户名与密码的正确性的呢?
刚开始怎样隐藏主界面?
在登录进去以后又是如何显示主界面的啊?
请高手给点指导,谢啦!
呵呵……
解决方案 »
- 数组-根据序号获取字符,根据字符获取序号
- scoket connect 返回值为-1,求助
- VC拓扑算法
- 怎样将1位的图片旋转90度后以另一个文件名保存
- 问两个MFC问题:1)怎样使得右键点击程序标题弹出的菜单和右键点击任务栏上的图标显示的菜单不一样;2)如何设置滚动条的滑块大小
- 我的菜单为什么会自动响应工具栏的消息....而对菜单添加的消息却不响应了,why?...
- 好书下载站点
- 哪位有 Microsoft Foundation Class 4 Bible ?
- 关于系统资源与编程中使用的堆之间的联系,还有其他一些小疑问~~~
- 一个简单的小问题!
- [请教]我在VS2005下,用ATL写了一个IE toolbar,但是界面风格还是土的那种,怎么实现XP风格呢?
- 如何vc中在现有的项目下添加一单文档工程?
在登录进去以后又是如何显示主界面的啊?
----------------------------------------------很简单啊:在WinMain调用ShowWindow前显示一个对话框,失败直接退出就行了。
在***Dlg.cpp中设一个文字常量为密码, 然后跟编辑框的输入相比较判断,如果为真就进入主界面但是如何显示主界面我也卡在这里了 高手给个方法吧
Login checnk;
if(IDCANCEL==checnk.DoModal())
return FALSE;
else if(!checnk.check)
return FALSE;
在你主界面的OnInitDialog() 函数中加入这个代码就可以了//dialog_login dialog_01;dialog_01.DoModal();在 dialog_01 中进行登陆判断,要是登陆不成功,就一个劲地出MessabaBox啥时候成功啥时候退出dialog_01,
这个时候主界面就现实出来了。
也可以在OnNewDocument里显示登陆对话框,核对数据库中的加密密码.这个时候主程序窗口是不会显示出来的.当你想退出程序时返回false就可以了,如果密码正确return true主程序就继续运行,主窗口就出来了
假如用户名与密码两者当中有一个错误,
然后再点击"退出系统"按钮的时候就会报错,
啥原因呢?
"退出系统"按钮用的是exit(0);来退出程序的
CLoginDlg dlg;
dlg.DoModal();如果你希望在主界面显示前显示登陆对话框,可以把上两个语句加在AddDocTemplate前,如果你希望显示主界面后显示登陆对话框,可以加在ShowWindow后,以下两个函数是登陆与取消按钮的响应函数
void CLoginDlg::OnBtnExit()
{
// TODO: Add your control notification handler code here
AfxGetMainWnd()->PostMessage(WM_CLOSE,0,0);
}void CLoginDlg::OnBtnLogin()
{
// TODO: Add your control notification handler code here UpdateData();
if(m_Password.IsEmpty()||m_Username.IsEmpty())
AfxMessageBox("用户名或密码不能为空!");
else
{
int UserTotal=GLobalVariable.AuthorityArray.GetSize();
for(int i=0;i<UserTotal;i++)
{
USERPSDAUTHORITY UserPsdPower=GetUserPsdProprietor(GLobalVariable.AuthorityArray.GetAt(i));
if(UserPsdPower.UserName==m_Username)
{
//保存权限值在全局变量UserAuthority以备其他函数使用
GLobalVariable.UserAuthority=UserPsdPower.Power; if(m_Password!=UserPsdPower.Pass)
{
AfxMessageBox("密码输入错误!");
m_Password.Empty();
UpdateData(FALSE);
}
else
{
PostMessage(WM_CLOSE,0,0);
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
pMain->ReviewUserBool=TRUE;
pMain->AddUserBool=TRUE;
pMain->DelUserBool=TRUE; // EndDialog(1); }
break;
}
}
}
}