怎么设置登录对话框为启动对话框,刚学vc,谢谢!
我用MFC生成Dialog应用程序,现在想做一个在进入主应该程序的前,做一个登录窗口,我在资源中做了一个登录对话框,怎么设置呀,是不是在App中设的呀,默认的话,是系统自动生成的那个对话框,先运行起来吗,我想先让登录窗口先运行,刚学vc,有点摸不到头!谢谢! 问题点数:10、回复次数:3Top
1 楼gzlyb(冰风)回复于 2005-06-03 08:52:44 得分 7
生成资源对话框后,把这个对话框绑定到一个对话框类上
然后在应用程序类的InitInstance中启动,就OK了Top
2 楼gooyan(超级替补)回复于 2005-06-03 08:57:22 得分 3
随便弄个基于对话框的工程,看看InitInstance里面有下面代码.有启发不
CMySearchDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}Top
3 楼jszj(老板说mis部不是赚钱的部门...)回复于 2005-06-03 09:35:35 得分 0
我搞一个启动窗口也不行呀,情况如下:
在InitInstance中,主对话框之前。
首先初始化一个临界区(全局的,句柄为g_hCrit),并进入临界区,然后创建一个线程,这个线程如下:
UINT T_Load( LPVOID )
{
CDlgLoginScreen dlg;
dlg.CreateWindow(IDD_LOGIN_SCREEN);
dlg.ShowWindow(SW_SHOW);
// 这里进入临界区,以便对话框不会消失.然后再退出来,以示启动完毕,
...
return 0;
}
然后在主对话框的OnInitDialog中,退出临界区,以便启动框口消失
但是有个问题,启动窗口出来了,但是它却是处于那种死了状态的窗体,即它不会刷新,当窗口被盖住再显示的时候,不会重画窗口,在它的OnInitDialog中,设置定时器来定时刷新,但这个定时器却只能运行一次,就不会再运行第二遍了,晕倒!Top




