复杂的登陆对话框和登陆等待对话框问题!

DataSpatial 2005-06-13 10:39:28
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();

......

CLogin m_logdlg;//登陆对话框
CLoginingDlg *m_pDlgLogining;//登陆等待对话框

if(m_pDlgLogining==NULL)
{
m_pDlgLogining = new CLoginingDlg(this);
m_pDlgLogining->Create(IDD_LOGINING, this);//Create 一个等待的对话框
}


while (1)
{
if(m_logdlg.DoModal() == IDCANCEL)
{
exit(0);//退出系统
}
else
{

UpdateData(TRUE);
if(m_logdlg.m_sLoginUser == _T(""))
{
MessageBox("请填写用户号码","登陆出错提示",MB_ICONEXCLAMATION);
continue;
}
else if(m_logdlg.m_sLoginPassword == _T(""))
{
MessageBox("请填写密码","登陆出错提示",MB_ICONEXCLAMATION);
continue;
}


//数据库连接的界面
m_pDlgLogining->ShowDlg();//等待对话框显示出来!!!
m_pDlgLogining->ChangeTitle("正在连接服务器");

......

m_pDlgLogining->HideDlg();

......

}
}
}

程序实现的功能:就是每次“登陆对话框”确定之后就出现“等待对话框”,等数据库登陆成功后,“等待对话框”消失,出现主对话框。

问题:每次“登陆对话框”确定之后就出现“等待对话框”,但是“等待对话框”上的图片不显示,“等待对话框”消失,出现主对话框。
如果去掉m_pDlgLogining->HideDlg()实验一下 ,等数据库登陆成功后,主对话框出现后,“等待对话框”上的图片才显示,但是这是没有什么意义的!
这是为什么呢?

请前辈赐教!!!
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DataSpatial 2005-06-13
  • 打赏
  • 举报
回复
现在的csdn好象来的人不多啊!!!
DataSpatial 2005-06-13
  • 打赏
  • 举报
回复
在CXXXApp::InitInstance中也是需要这种逻辑的!
Hendy_So 2005-06-13
  • 打赏
  • 举报
回复
哇,做得这么复杂,把两个对话框放到一个对话框的初始化里面,放到CXXXApp::InitInstance里面多好,顺序处理,不需要这种逻辑。
Hendy_So 2005-06-13
  • 打赏
  • 举报
回复
CLogin m_logdlg;
CLoginingDlg m_pDlgLogining;
CTestDlg mainDlg;
if(m_logdlg.DoModal() == IDCANCEL)
return FALSE;
if(m_pDlgLogining.DoModal() == IDCANCEL)
return FALSE; // 这个地方没看到你上面怎么做的
mainDlg.DoModal();

判断用户名及密码的合法性可以放到CLogin的OnOK处理里面。

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧