我用MFC生成Dialog应用程序,现在想做一个在进入主应该程序的前,做一个登录窗口,我在资源中做了一个登录对话框,怎么设置呀,是不是在App中设的呀,默认的话,是系统自动生成的那个对话框,先运行起来吗,我想先让登录窗口先运行,刚学vc,有点摸不到头!谢谢!

解决方案 »

  1.   

    生成资源对话框后,把这个对话框绑定到一个对话框类上
    然后在应用程序类的InitInstance中启动,就OK了
      

  2.   

    随便弄个基于对话框的工程,看看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
    }
      

  3.   

    我搞一个启动窗口也不行呀,情况如下:在InitInstance中,主对话框之前。
    首先初始化一个临界区(全局的,句柄为g_hCrit),并进入临界区,然后创建一个线程,这个线程如下:
    UINT T_Load( LPVOID )
    {
      CDlgLoginScreen dlg;
      dlg.CreateWindow(IDD_LOGIN_SCREEN);
      dlg.ShowWindow(SW_SHOW);  // 这里进入临界区,以便对话框不会消失.然后再退出来,以示启动完毕,
      ... return 0;
    }然后在主对话框的OnInitDialog中,退出临界区,以便启动框口消失但是有个问题,启动窗口出来了,但是它却是处于那种死了状态的窗体,即它不会刷新,当窗口被盖住再显示的时候,不会重画窗口,在它的OnInitDialog中,设置定时器来定时刷新,但这个定时器却只能运行一次,就不会再运行第二遍了,晕倒!