Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

CWinApp::InitInstance

Windows permite que varias copias del mismo programa ejecutan al mismo tiempo.

virtual BOOL InitInstance( );

Distinto de cero si es correcta; si no 0.

La inicialización de aplicaciones se divide conceptual de dos secciones: la única inicialización de aplicaciones que se realiza la primera vez que se ejecuta el programa, y la inicialización de la instancia que se ejecuta cada vez que una copia del programa, incluida la primera vez. La implementación de WinMain llama a esta función.

Reemplace InitInstance para inicializar cada nueva instancia de la ejecución de la aplicación en Windows. Normalmente, se reemplaza InitInstance para construir el objeto de la ventana principal y establecer el miembro de datos de CWinThread::m_pMainWnd para señalar a esa ventana. Para obtener más información sobre invalidar esta función miembro, vea CWinApp: La clase de aplicación.

Nota Nota

Las aplicaciones MFC deben inicializarse como contenedor uniproceso (STA). Si llama a CoInitializeEx en la invalidación de InitInstance , especifique COINIT_APARTMENTTHREADED (en lugar de COINIT_MULTITHREADED). Para obtener más información, vea PRB: Las paradas Responder Cuando Se de aplicación MFC se inicializan la aplicación como Multiproceso Apartment (828643) en http://support.microsoft.com/default.aspx?scid=kb;en-us;828643.


// AppWizard implements the InitInstance overridable function 
// according to options you select.  For example, the multiple document
// interface (MDI) option was chosen for the AppWizard code created
// below. You can add other per-instance initializations to the code
// created by AppWizard.

BOOL CMFCListViewApp::InitInstance()
{
   AfxSetAmbientActCtx(FALSE);
   // Remainder of function definition omitted.

   CWinApp::InitInstance();

   // Initialize OLE libraries
   if (!AfxOleInit())
   {
      AfxMessageBox(_T("OleInit failed."));
      return FALSE;
   }

   // 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("Local AppWizard-Generated Applications"));
   LoadStdProfileSettings(4);  // Load standard INI file options (including MRU)
   // Register the application's document templates.  Document templates
   //  serve as the connection between documents, frame windows and views
   CMultiDocTemplate* pDocTemplate;
   pDocTemplate = new CMultiDocTemplate(IDR_MFCListViewTYPE,
      RUNTIME_CLASS(CMFCListViewDoc),
      RUNTIME_CLASS(CChildFrame), // custom MDI child frame
      RUNTIME_CLASS(CMyListView));
   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
   pMainFrame->ShowWindow(m_nCmdShow);
   pMainFrame->UpdateWindow();

   return TRUE;
}


encabezado: afxwin.h

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft