none
MFC MDI Splash-форма мерцание главного окна RRS feed

  • Вопрос

  • Привет.
    Пишу MFC MDI приложение со Splash-формой и проверкой серийного номера. Столкнулся с такой проблемой, что когда создается главное окно, то никак не получается скрыть его, при старте перед скрытием оно все равно на пол-секунды показывается. 
    Можно ли это исправить?
    Примечание: нашел ссылку: http://www.codeguru.com/cpp/controls/controls/systemtray/article.php/c5309/SDIMDI-MFC-Application-in-the-Windows-System-Tray.htm
    Все сделал, как там написано, но все равно тоже самое.

    Вот моя главная функция

     

    BOOL CApp::InitInstance()
    {
      
      // InitCommonControlsEx() is required on Windows XP if an application
      // manifest specifies use of ComCtl32.dll version 6 or later to enable
      // visual styles. Otherwise, any window creation will fail.
      INITCOMMONCONTROLSEX InitCtrls;
      InitCtrls.dwSize = sizeof(InitCtrls);
      // Set this to include all the common control classes you want to use
      // in your application.
      InitCtrls.dwICC = ICC_WIN95_CLASSES;
      InitCommonControlsEx(&InitCtrls);
     
      CWinAppEx::InitInstance();
     
      // Standard initialization
      // If you are not using these features and wish to reduce the size
      // of your final executable, you should remove from the following
      // the specific initialization routines you do not need
      // Change the registry key under which our settings are stored
      // TODO: You should modify this string to be something appropriate
      // such as the name of your company or organization
      SetRegistryKey(_T("Reconsonance Software Engine"));
      LoadStdProfileSettings(0); // Load standard INI file options (including MRU)
     
      InitContextMenuManager();
      InitShellManager();
     
      InitKeyboardManager();
     
      InitTooltipManager();
      CMFCToolTipInfo ttParams;
      ttParams.m_bVislManagerTheme = TRUE;
      theApp.GetTooltipManager()->SetTooltipParams(AFX_TOOLTIP_TYPE_ALL,
        RUNTIME_CLASS(CMFCToolTipCtrl), &ttParams);
     
      // Register the application's document templates. Document templates
      // serve as the connection between documents, frame windows and views
      CMultiDocTemplate* pDocTemplate;
      pDocTemplate = new CMultiDocTemplate(IDR_ReconsonanceEngTYPE,
        RUNTIME_CLASS(CEngineDoc),
        RUNTIME_CLASS(CChildFrame), // custom MDI child frame
        RUNTIME_CLASS(CEngineView));
      if (!pDocTemplate)
        return FALSE;
      AddDocTemplate(pDocTemplate);
     
      // create main MDI Frame window
      CMainFrame* pMainFrame = new CMainFrame;
      if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
      {
        delete pMainFrame;
        return FALSE;
      }
     
      m_pMainWnd = pMainFrame;
      
      // call DragAcceptFiles only if there's a suffix
      // In an MDI app, this should occur immediately after setting m_pMainWnd
     
     
      // Parse command line for standard shell commands, DDE, file open
      CCommandLineInfo cmdInfo;
      ParseCommandLine(cmdInfo);
     
     
      // Dispatch commands specified on the command line. Will return FALSE if
      // app was launched with /RegServer, /Register, /Unregserver or /Unregister.
      if (!ProcessShellCommand(cmdInfo))
        return FALSE;
      // The main window has been initialized, so show and update it
      
      this->m_nCmdShow = SW_HIDE;
      m_pMainWnd ->ShowWindow(m_nCmdShow);
      //pMainFrame->UpdateWindow();
     
      CChecker* ch = new CChecker();
      if(ch->IsValid()==0)
      {
        this->StartMainWnd();
      }
      else
      {
        CSerialWnd* sw = new CSerialWnd();
        sw->ShowWindow(SW_SHOW);  
        sw->UpdateWindow();
      }
     
     
     
      return TRUE;
    }
    

     

    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:42 MSDN Forums consolidation (От:Разработка Windows-приложений)