Clase CWinAppEx

CWinAppEx controla el estado de aplicación, guarda el estado en el Registro, carga el estado desde el Registro, inicializa los administradores de la aplicación y proporciona vínculos a esos mismos administradores de la aplicación.

Para obtener información más detallada, consulte el código fuente ubicado en la carpeta mfc de la instalación de Visual Studio. Por ejemplo, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Sintaxis

class CWinAppEx : public CWinApp

Miembros

Constructores públicos

Nombre Descripción
CWinAppEx::CWinAppEx Construye un objeto CWinAppEx.

Métodos públicos

Nombre Descripción
CWinAppEx::CleanState Quita información sobre la aplicación del Registro de Windows.
CWinAppEx::EnableLoadWindowPlacement Especifica si la aplicación cargará la ubicación y el tamaño inicial de la ventana de marco principal desde el Registro.
CWinAppEx::EnableTearOffMenus Habilita menús divisibles para la aplicación.
CWinAppEx::EnableUserTools Permite al usuario crear comandos de menú personalizados en la aplicación.
CWinAppEx::ExitInstance Lo llama el marco de trabajo desde dentro de la función miembro Run para salir de esta instancia de la aplicación. (Invalida CWinApp::ExitInstance).
CWinAppEx::GetBinary Lee los datos binarios asociados al valor del Registro especificado.
CWinAppEx::GetContextMenuManager Devuelve un puntero al objeto global CContextMenuManager.
CWinAppEx::GetDataVersion
CWinAppEx::GetDataVersionMajor Devuelve la versión principal de la aplicación guardada en el Registro de Windows.
CWinAppEx::GetDataVersionMinor Devuelve la versión secundaria de la aplicación guardada en el Registro de Windows.
CWinAppEx::GetInt Lee los datos numéricos asociados al valor especificado desde el Registro.
CWinAppEx::GetKeyboardManager Devuelve un puntero al objeto global CKeyboardManager.
CWinAppEx::GetMouseManager Devuelve un puntero al objeto global CMouseManager.
CWinAppEx::GetObject Lee los datos derivados de CObject asociados al valor especificado desde el Registro.
CWinAppEx::GetRegSectionPath Devuelve una cadena que es la ruta de acceso de una clave del Registro. Esta ruta de acceso concatena la ruta de acceso relativa proporcionada con la ruta de acceso de la aplicación.
CWinAppEx::GetRegistryBase Devuelve la ruta de acceso del Registro de la aplicación.
CWinAppEx::GetSectionBinary Lee los datos binarios asociados a la clave y el valor especificados desde el Registro.
CWinAppEx::GetSectionInt Lee los datos numéricos asociados a la clave y el valor especificados desde el Registro.
CWinAppEx::GetSectionObject Lee los datos de CObject asociados a la clave y el valor especificados desde el Registro.
CWinAppEx::GetSectionString Lee los datos de cadena asociados a la clave y el valor especificados desde el Registro.
CWinAppEx::GetShellManager Devuelve un puntero al objeto global CShellManager.
CWinAppEx::GetString Lee los datos de cadena asociados al valor especificado desde el Registro.
CWinAppEx::GetTooltipManager Devuelve un puntero al objeto global CTooltipManager.
CWinAppEx::GetUserToolsManager Devuelve un puntero al objeto global CUserToolsManager.
CWinAppEx::InitContextMenuManager Inicializa el objeto CContextMenuManager.
CWinAppEx::InitKeyboardManager Inicializa el objeto CKeyboardManager.
CWinAppEx::InitMouseManager Inicializa el objeto CMouseManager.
CWinAppEx::InitShellManager Inicializa la clase CShellManager.
CWinAppEx::InitTooltipManager Inicializa la clase CTooltipManager.
CWinAppEx::IsResourceSmartUpdate
CWinAppEx::IsStateExists Indica si la clave especificada está en el Registro.
CWinAppEx::LoadState Carga el estado de la aplicación desde el Registro.
CWinAppEx::OnAppContextHelp Lo llama el marco de trabajo cuando el usuario solicita ayuda de contexto para el cuadro de diálogo Personalización.
CWinAppEx::OnViewDoubleClick Llama al comando definido por el usuario cuando el usuario hace doble clic en cualquier parte de la aplicación.
CWinAppEx::OnWorkspaceIdle
CWinAppEx::SaveState Escribe el estado del marco de trabajo de la aplicación en el Registro de Windows.
CWinAppEx::SetRegistryBase Establece la ruta de acceso de la clave del Registro predeterminada. Esta clave servirá como raíz para todas las llamadas al Registro posteriores.
CWinAppEx::ShowPopupMenu Muestra un menú emergente.
CWinAppEx::WriteBinary Escribe los datos binarios en el valor del Registro especificado.
CWinAppEx::WriteInt Escribe los datos numéricos en el valor del Registro especificado.
CWinAppEx::WriteObject Escribe datos derivados de la clase CObject en el valor del Registro especificado.
CWinAppEx::WriteSectionBinary Escribe los datos binarios en un valor de la clave del Registro especificada.
CWinAppEx::WriteSectionInt Escribe los datos numéricos en un valor de la clave del Registro especificada.
CWinAppEx::WriteSectionObject Escribe los datos derivados de la clase CObject en un valor de la clave del Registro especificada.
CWinAppEx::WriteSectionString Escribe los datos de cadena en un valor de la clave del Registro especificada.
CWinAppEx::WriteString Escribe los datos de cadena en el valor del Registro especificado.

Métodos protegidos

Nombre Descripción
CWinAppEx::LoadCustomState Lo llama el marco de trabajo cuando se ha cargado el estado de la aplicación.
CWinAppEx::LoadWindowPlacement Lo llama el marco de trabajo cuando carga el tamaño y la ubicación de la aplicación desde el Registro. Los datos cargados incluyen el tamaño y la ubicación del marco principal en el momento en que la aplicación se cerró por última vez.
CWinAppEx::OnClosingMainFrame Lo llama el marco de trabajo cuando una ventana de marco principal está procesando WM_CLOSE.
CWinAppEx::PreLoadState Lo llama el marco de trabajo inmediatamente antes de que se cargue el estado de la aplicación.
CWinAppEx::PreSaveState Lo llama el marco de trabajo inmediatamente antes de que se guarde el estado de la aplicación.
CWinAppEx::ReloadWindowPlacement Vuelve a cargar el tamaño y la ubicación de la ventana proporcionada desde el Registro.
CWinAppEx::SaveCustomState Lo llama el marco de trabajo después de escribir el estado de la aplicación en el Registro.
CWinAppEx::StoreWindowPlacement Lo llama el marco de trabajo para escribir el tamaño y la ubicación del marco principal en el Registro.

Miembros de datos

Nombre Descripción
CWinAppEx::m_bForceImageReset Especifica si el marco de trabajo restablecerá todas las imágenes de la barra de herramientas cuando se cargue la ventana de marco que contiene la barra de herramientas.

Comentarios

Gran parte de la funcionalidad proporcionada por el marco de trabajo de MFC depende de la clase CWinAppEx. Puede incorporar la clase CWinAppEx a la aplicación de una de estas dos maneras:

  • Construya una clase CWinAppEx en el subproceso principal.

  • Derive la clase de la aplicación principal de CWinAppEx.

Después de incorporar CWinAppEx en la aplicación, puede inicializar cualquiera de los administradores de aplicaciones. Antes de usar un administrador de aplicaciones, debe inicializarlo llamando al método de inicialización adecuado. Para obtener un puntero a un administrador específico, llame al método get asociado. La clase CWinAppEx administra los siguientes administradores de aplicaciones: clase CMouseManager, clase CContextMenuManager, clase CKeyboardManager, clase CUserToolsManager y clase CMenuTearOffManager.

Jerarquía de herencia

CObject

CCmdTarget

CWinThread

CWinApp

CWinAppEx

Requisitos

Encabezadoafxwinappex.h:

CWinAppEx::CleanState

Quita toda la información sobre la aplicación del Registro de Windows.

virtual BOOL CleanState(LPCTSTR lpszSectionName=NULL);

Parámetros

lpszSectionName
[in] Cadena que contiene una ruta de acceso de una clave del Registro.

Valor devuelto

Distinto de cero si el método se realizó correctamente. En caso contrario, 0.

Comentarios

Este método borra los datos de la aplicación de una sección específica del Registro. Puede especificar la sección que se va a borrar mediante el parámetro lpszSectionName. Si lpszSectionName es NULL, este método usará la ruta de acceso predeterminada del Registro almacenada en el objeto CWinAppEx. Para obtener la ruta de acceso predeterminada del Registro, use CWinAppEx::GetRegistryBase.

CWinAppEx::CWinAppEx

Construye un objeto CWinAppEx.

CWinAppEx(BOOL bResourceSmartUpdate = FALSE);

Parámetros

bResourceSmartUpdate
[in] Parámetro booleano que especifica si el objeto del área de trabajo debe detectar y controlar las actualizaciones de recursos.

Comentarios

La clase CWinAppEx tiene métodos de inicialización, proporciona funcionalidad para guardar y cargar la información de la aplicación en el Registro y controla la configuración global de la aplicación. También permite usar administradores globales, como la clase CKeyboardManager y la clase CUserToolsManager. Cada aplicación solo puede tener una instancia de la clase CWinAppEx.

CWinAppEx::EnableLoadWindowPlacement

Especifica si la aplicación cargará la ubicación y el tamaño inicial de la ventana de marco principal desde el Registro.

void EnableLoadWindowPlacement(BOOL bEnable = TRUE);

Parámetros

bEnable
[in] Especifica si la aplicación carga la ubicación y el tamaño inicial de la ventana de marco principal desde el Registro.

Comentarios

De manera predeterminada, el tamaño y la ubicación del marco principal se cargan desde el Registro junto con otras configuraciones de la aplicación. Esto ocurre durante CWinAppEx::LoadState. Si no desea cargar la ubicación inicial de la ventana desde el Registro, llame a este método con el elemento bEnable establecido en FALSE.

CWinAppEx::EnableTearOffMenus

Crea e inicializa un objeto CMenuTearOffManager.

BOOL EnableTearOffMenus(
    LPCTSTR lpszRegEntry,
    const UINT uiCmdFirst,
    const UINT uiCmdLast);

Parámetros

lpszRegEntry
[in] Cadena que contiene la ruta de acceso de una clave del Registro. La aplicación usa esta clave del Registro para almacenar información para los menús divisibles.

uiCmdFirst
[in] Identificador del primer menú divisible.

uiCmdLast
[in] Identificador del último menú divisible.

Valor devuelto

TRUE si CMenuTearOffManager se crea e inicializa correctamente; FALSE si se produce un error o si CMenuTearOffManager ya existe.

Comentarios

Use esta función para habilitar los menús divisibles en la aplicación. Debe llamar a esta función desde InitInstance.

CWinAppEx::EnableUserTools

Permite al usuario crear comandos de menú personalizados que reduzcan las pulsaciones de teclas en la aplicación. Este método crea un objeto CUserToolsManager.

BOOL EnableUserTools(
    const UINT uiCmdToolsDummy,
    const UINT uiCmdFirst,
    const UINT uiCmdLast,
    CRuntimeClass* pToolRTC = RUNTIME_CLASS(CUserTool),
    UINT uArgMenuID = 0,
    UINT uInitDirMenuID = 0);

Parámetros

uiCmdToolsDummy
[in] Un entero sin signo que el marco utiliza como marcador de posición para el id. de comando del menú de herramientas de usuario.

uiCmdFirst
[in] Identificador de comando del primer comando de herramientas de usuario.

uiCmdLast
[in] El id. de comando del último comando de herramientas de usuario.

pToolRTC
[in] Clase utilizada por el objeto CUserToolsManager para crear nuevas herramientas de usuario.

uArgMenuID
[in] Identificador del menú de argumentos.

uInitDirMenuID
[in] Identificador de menú del directorio de herramientas inicial.

Valor devuelto

TRUE si el método crea e inicializa un objeto CUserToolsManager; FALSE si se produce un error en el método o si ya existe un objeto CUserToolsManager.

Comentarios

Al habilitar las herramientas definidas por el usuario, el marco de trabajo admite automáticamente un menú dinámico que se puede extender durante la personalización. El marco asocia cada nuevo elemento a un comando externo. El marco de trabajo invoca estos comandos cuando el usuario selecciona el elemento adecuado en el menú Herramientas.

Cada vez que el usuario agrega un nuevo elemento, el marco crea un nuevo objeto. El tipo de clase del nuevo objeto se define mediante pToolRTC. El tipo de clase pToolRTC se debe derivar de la clase CUserTool.

Para obtener más información sobre las herramientas de usuario y cómo incorporarlas a la aplicación, consulte Herramientas definidas por el usuario.

CWinAppEx::ExitInstance

virtual int ExitInstance();

Valor devuelto

Comentarios

CWinAppEx::GetBinary

Lee datos binarios de una clave del Registro especificada.

BOOL GetBinary(
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Parámetros

lpszEntry
[in] Cadena que contiene el nombre de una clave del Registro.

ppData
[out] Puntero al búfer que el método rellena con los datos binarios.

pBytes
[out] Puntero a un entero sin signo que el método usa para escribir el número de bytes leídos.

Valor devuelto

TRUE si es correcto; de lo contrario, FALSE.

Comentarios

Este método lee datos binarios escritos en el Registro. Para escribir datos en el Registro, use los métodos CWinAppEx::WriteBinary y CWinAppEx::WriteSectionBinary.

El parámetro lpszEntry es el nombre de una entrada del Registro ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetContextMenuManager

Devuelve un puntero al objeto global CContextMenuManager.

CContextMenuManager* GetContextMenuManager();

Valor devuelto

Puntero al objeto global CContextMenuManager.

Comentarios

Si el objeto CContextMenuManager no está inicializado, esta función llama a CWinAppEx::InitContextMenuManager antes de devolver un puntero.

CWinAppEx::GetDataVersion

int GetDataVersion() const;

Valor devuelto

Comentarios

CWinAppEx::GetDataVersionMajor

Devuelve la versión principal de la aplicación guardada en el Registro de Windows al llamar a CWinAppEx::SaveState.

int GetDataVersionMajor() const;

Valor devuelto

Valor entero que contiene el número de versión principal.

CWinAppEx::GetDataVersionMinor

Devuelve la versión secundaria de la aplicación guardada en el Registro de Windows al llamar a CWinAppEx::SaveState.

int GetDataVersionMinor() const;

Valor devuelto

Valor entero que contiene el número de versión secundaria.

CWinAppEx::GetInt

Lee datos enteros de una clave del Registro especificada.

int GetInt(
    LPCTSTR lpszEntry,
    int nDefault = 0);

Parámetros

lpszEntry
[in] Cadena que contiene el nombre de una entrada del Registro.

nDefault
[in] Valor predeterminado que devuelve el método si no existe la entrada del Registro especificada.

Valor devuelto

Los datos del Registro si el método se realizó correctamente; de lo contrario, nDefault.

Comentarios

Este método lee datos enteros del Registro. Si no hay datos enteros asociados a la clave del Registro indicada por lpszEntry, este método devuelve nDefault. Para escribir datos en el Registro, use los métodos CWinAppEx::WriteSectionInt y CWinAppEx::WriteInt.

El parámetro lpszEntry es el nombre de una entrada del Registro ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetKeyboardManager

Devuelve un puntero al objeto global CKeyboardManager.

CKeyboardManager* GetKeyboardManager();

Valor devuelto

Puntero al objeto global CKeyboardManager.

Comentarios

Si el administrador de teclado no está inicializado, esta función llama a CWinAppEx::InitKeyboardManager antes de devolver un puntero.

CWinAppEx::GetMouseManager

Devuelve un puntero al objeto global CMouseManager.

CMouseManager* GetMouseManager();

Valor devuelto

Puntero al objeto global CMouseManager.

Comentarios

Si el administrador del mouse no está inicializado, esta función llama a CWinAppEx::InitMouseManager antes de devolver un puntero.

CWinAppEx::GetObject

Lee datos derivados de CObject del Registro.

BOOL GetObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parámetros

lpszEntry
[in] Cadena que contiene la ruta de acceso relativa de una entrada del Registro.

obj
[out] Referencia a un objeto CObject. El método usa esta referencia para almacenar los datos del Registro.

Valor devuelto

Distinto de cero si el método se realizó correctamente. En caso contrario, 0.

Comentarios

Este método lee datos derivados de CObject del Registro. Para escribir los datos de CObject en el Registro, use CWinAppEx::WriteObject o CWinAppEx::WriteSectionObject.

El parámetro lpszEntry es el nombre de una entrada del Registro que está ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetRegistryBase

Recupera la ruta de acceso predeterminada del Registro de la aplicación.

LPCTSTR GetRegistryBase();

Valor devuelto

Cadena que contiene la ruta de acceso de la ubicación predeterminada del Registro.

Comentarios

Todos los métodos de la clase CWinAppEx que acceden al Registro se inician en una ubicación predeterminada. Use este método para recuperar una ruta de acceso de la ubicación predeterminada del Registro. Use CWinAppEx::SetRegistryBase para cambiar la ubicación predeterminada del Registro.

CWinAppEx::GetRegSectionPath

Crea y devuelve la ruta de acceso absoluta de una clave del Registro.

CString GetRegSectionPath(LPCTSTR szSectionAdd = _T(""));

Parámetros

szSectionAdd
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

Valor devuelto

Elemento CString que contiene la ruta de acceso absoluta de una clave del Registro.

Comentarios

Este método define la ruta de acceso absoluta de la clave del Registro anexando la ruta de acceso relativa de szSectionAdd a la ubicación predeterminada del Registro de la aplicación. Para obtener la clave del Registro predeterminada, use el método CWinAppEx::GetRegistryBase.

CWinAppEx::GetSectionBinary

Lee datos binarios del Registro.

BOOL GetSectionBinary(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Parámetros

lpszSubSection
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

lpszEntry
[in] Cadena que contiene el valor que se va a leer.

ppData
[out] Puntero al búfer en el que el método almacena los datos.

pBytes
[out] Puntero a un entero sin signo. El método escribe el tamaño de ppData en este parámetro.

Valor devuelto

TRUE si es correcto; de lo contrario, FALSE.

Comentarios

Este método lee los datos binarios escritos en el Registro mediante los métodos CWinAppEx::WriteBinary y CWinAppEx::WriteSectionBinary.

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetSectionInt

Este método lee datos enteros del Registro.

int GetSectionInt(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    int nDefault = 0);

Parámetros

lpszSubSection
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

lpszEntry
[in] Cadena que contiene el valor que se va a leer.

nDefault
[in] Valor predeterminado que se va a devolver si no existe el valor especificado.

Valor devuelto

Datos enteros almacenados en el valor del Registro especificado; nDefault si los datos no existen.

Comentarios

Use los métodos CWinAppEx::WriteInt y CWinAppEx::WriteSectionInt para escribir datos enteros en el Registro.

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetSectionObject

Lee datos de tipo CObject del Registro.

BOOL GetSectionObject(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    CObject& obj);

Parámetros

lpszSubSection
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

lpszEntry
[in] Cadena que contiene el valor que se va a leer.

obj
[out] Referencia a un objeto CObject. El método usa este elemento CObject para almacenar los datos del Registro.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Este método lee datos del Registro. Los datos leídos son datos de tipo CObject o datos de una clase derivada de CObject. Para escribir los datos de CObject en el Registro, use CWinAppEx::WriteObject o CWinAppEx::WriteSectionObject.

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetSectionString

Lee datos de cadena del Registro.

CString GetSectionString(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = _T(""));

Parámetros

lpszSubSection
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

lpszEntry
[in] Cadena que contiene el valor que se va a leer.

lpszDefault
[in] Valor predeterminado que se va a devolver si no existe el valor especificado.

Valor devuelto

Datos de cadena almacenados en el valor del Registro especificado si los datos existen; de lo contrario, lpszDefault.

Comentarios

Este método lee datos de cadena escritos en el Registro. Use CWinAppEx::WriteString y CWinAppEx::WriteSectionString para escribir datos de cadena en el Registro.

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetShellManager

Devuelve un puntero al objeto global CShellManager.

CShellManager* GetShellManager();

Valor devuelto

Puntero al objeto global CShellManager.

Comentarios

Si el objeto CShellManager no está inicializado, esta función llama a CWinAppEx::InitShellManager antes de devolver un puntero.

CWinAppEx::GetString

Lee datos de cadena de una clave del Registro especificada.

CString GetString(
    LPCTSTR lpszEntry,
    LPCTSTR lpzDefault= _T(""));

Parámetros

lpszEntry
[in] Cadena que contiene el nombre de una clave del Registro

lpzDefault
[in] Valor predeterminado que devuelve el método si no existe la entrada del Registro especificada.

Valor devuelto

Datos de cadena almacenados en el Registro si se realiza correctamente; de lo contrario, lpszDefault.

Comentarios

Este método lee datos de cadena escritos en el Registro. Para escribir datos en el Registro, use los métodos CWinAppEx::WriteString o CWinAppEx::WriteSectionString.

El parámetro lpszEntry es el nombre de una entrada del Registro ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::GetTooltipManager

Devuelve un puntero al objeto global CTooltipManager.

CTooltipManager* GetTooltipManager();

Valor devuelto

Puntero al objeto global CTooltipManager.

Comentarios

Si el objeto CTooltipManager no está inicializado, esta función llama a CWinAppEx::InitTooltipManager antes de devolver un puntero.

CWinAppEx::GetUserToolsManager

Devuelve un puntero al objeto global CUserToolsManager.

CUserToolsManager* GetUserToolsManager();

Valor devuelto

Puntero al objeto global CUserToolsManager; NULL si la administración de herramientas de usuario no está habilitada para la aplicación.

Comentarios

Antes de recuperar un puntero al objeto CUserToolsManager, debe inicializar el administrador mediante una llamada a CWinAppEx::EnableUserTools.

CWinAppEx::InitContextMenuManager

Inicializa el objeto CContextMenuManager.

BOOL InitContextMenuManager();

Valor devuelto

Distinto de cero si el método crea el objeto CContextMenuManager; 0 si ya existe el objeto CContextMenuManager.

Comentarios

Si llama a CWinAppEx::GetContextMenuManager, la implementación predeterminada de ese método llama a InitContextMenuManager.

Si la aplicación ya tiene un administrador de menús contextuales y llama a InitContextMenuManager, la aplicación obtendrá el error ASSERT. Por lo tanto, no debe llamar a InitContextMenuManager si crea un objeto CContextMenuManager directamente. Si no usa un objeto CContextMenuManager personalizado, debe usar GetContextMenuManager para crear un objeto CContextMenuManager.

CWinAppEx::InitKeyboardManager

Inicializa el objeto CKeyboardManager.

BOOL InitKeyboardManager();

Valor devuelto

Distinto de cero si el método crea el objeto CKeyboardManager; 0 si ya existe el objeto CKeyboardManager.

Comentarios

Si llama a CWinAppEx::GetKeyboardManager, la implementación predeterminada de ese método llama a InitKeyboardManager.

Si la aplicación ya tiene un administrador de teclado y llama a InitKeyboardManager, la aplicación obtendrá el error ASSERT. Por lo tanto, no debe llamar a InitKeyboardManager si crea un objeto CKeyboardManager directamente. Si no usa un objeto CKeyboardManager personalizado, debe usar GetKeyboardManager para crear un objeto CKeyboardManager.

CWinAppEx::InitMouseManager

Inicializa el objeto CMouseManager.

BOOL InitMouseManager();

Valor devuelto

Distinto de cero si el método crea el objeto CMouseManager; 0 si ya existe el objeto CMouseManager.

Comentarios

Si llama a CWinAppEx::GetMouseManager, la implementación predeterminada de ese método llama a InitMouseManager.

Si la aplicación ya tiene un administrador del mouse y llama a InitMouseManager, la aplicación obtendrá el error ASSERT. Por lo tanto, no debe llamar a InitMouseManager si crea un objeto CMouseManager directamente. Si no usa un objeto CMouseManager personalizado, debe usar GetMouseManager para crear un objeto CMouseManager.

CWinAppEx::InitShellManager

Inicializa el objeto CShellManager.

BOOL InitShellManager();

Valor devuelto

Distinto de cero si el método crea el objeto CShellManager; 0 si ya existe el objeto CShellManager.

Comentarios

Si llama a CWinAppEx::GetShellManager, la implementación predeterminada de ese método llama a InitShellManager.

Si la aplicación ya tiene un administrador del shell y llama a InitShellManager, la aplicación genera el error ASSERT. Por lo tanto, no llame a InitShellManager si crea un objeto CShellManager directamente. Si no usa un objeto CShellManager personalizado, utilice GetShellManager para crear un objeto CShellManager.

CWinAppEx::InitTooltipManager

Inicializa el objeto CTooltipManager.

BOOL InitTooltipManager();

Valor devuelto

Distinto de cero si el método crea el objeto CTooltipManager; 0 si ya existe el objeto CTooltipManager.

Comentarios

Si llama a CWinAppEx::GetTooltipManager, la implementación predeterminada de ese método llama a InitTooltipManager.

Si la aplicación ya tiene un administrador de información sobre herramientas y llama a InitTooltipManager, la aplicación obtendrá el error ASSERT. Por lo tanto, no debe llamar a InitTooltipManager si crea un objeto CTooltipManager directamente. Si no usa un objeto CTooltipManager personalizado, debe usar GetTooltipManager para crear un objeto CTooltipManager.

CWinAppEx::IsResourceSmartUpdate

BOOL IsResourceSmartUpdate() const;

Valor devuelto

Comentarios

CWinAppEx::IsStateExists

Indica si la clave especificada está en el Registro.

BOOL IsStateExists(LPCTSTR lpszSectionName);

Parámetros

lpszSectionName
[in] Cadena que contiene una ruta de acceso de una clave del Registro.

Valor devuelto

Distinto de cero si la clave está en el Registro; de lo contrario, 0.

CWinAppEx::LoadCustomState

El marco de trabajo llama a este método después de cargar el estado de la aplicación desde el Registro.

virtual void LoadCustomState();

Comentarios

Invalide este método si desea realizar algún procesamiento después de que la aplicación cargue el estado desde el Registro. De forma predeterminada, este método no hace nada.

Para cargar información de estado personalizada desde el Registro, primero se debe guardar la información mediante CWinAppEx::SaveCustomState.

CWinAppEx::LoadState

Lee el estado de la aplicación del Registro de Windows.

BOOL LoadState(
    CMDIFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL LoadState(
    CFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL LoadState(
    COleIPFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

virtual BOOL LoadState(
    LPCTSTR lpszSectionName = NULL,
    CFrameImpl* pFrameImpl = NULL);

Parámetros

pFrame
[in] Puntero a un objeto de ventana de marco. El método aplica la información de estado del Registro a esta ventana de marco.

lpszSectionName
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

pFrameImpl
[in] Un puntero a un objeto CFrameImpl. El método aplica la información de estado del Registro a esta ventana de marco.

Valor devuelto

Su valor será distinto de cero en caso correcto, de lo contrario, será cero.

Comentarios

Este método carga el estado de la aplicación y cualquier información de estado de una ventana de marco. La información cargada de la ventana de marco se aplica a la ventana de marco proporcionada. Si no proporciona una ventana de marco, solo se carga la información de estado de la aplicación. La información de la aplicación incluye el estado de la clase CMouseManager, la clase CContextMenuManager, la clase CKeyboardManager y la clase CUserToolsManager.

La implementación predeterminada de CFrameImpl::OnLoadFrame llama a LoadState.

El parámetro lpszSectionName no es la ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::LoadWindowPlacement

Lo llama el marco de trabajo cuando carga el tamaño y la ubicación de la ventana de marco principal desde el Registro.

virtual BOOL LoadWindowPlacement(
    CRect& rectNormalPosition,
    int& nFlags,
    int& nShowCmd);

Parámetros

rectNormalPosition
[out] Rectángulo que contiene las coordenadas de la ventana de marco principal cuando se encuentra en la posición restaurada.

nFlags
[out] Marcas que controlan la posición de la ventana minimizada y cómo cambia el sistema operativo entre una ventana minimizada y una ventana restaurada.

nShowCmd
[out] Entero que especifica el estado de presentación de la ventana. Para obtener más información acerca de los posibles valores, consulte CWnd::ShowWindow.

Valor devuelto

Su valor será distinto de cero en caso correcto, de lo contrario, será cero.

Comentarios

De manera predeterminada, MFC carga automáticamente la posición y el estado anteriores de la ventana de marco principal cuando se inicia la aplicación. Para obtener más información sobre cómo se almacena esta información en el Registro, consulte CWinAppEx::StoreWindowPlacement.

Invalide este método si desea cargar información adicional sobre la ventana de marco principal.

CWinAppEx::m_bForceImageReset

Especifica si el marco de trabajo restablecerá todas las imágenes de la barra de herramientas cuando vuelva a cargar la ventana de marco que contiene la barra de herramientas.

BOOL m_bForceImageReset;

Comentarios

El miembro de datos m_bForceImageReset es una variable protegida.

CWinAppEx::OnAppContextHelp

El marco de trabajo llama a este método cuando el usuario solicita ayuda de contexto para el cuadro de diálogo Personalización.

virtual void OnAppContextHelp(
    CWnd* pWndControl,
    const DWORD dwHelpIDArray[]);

Parámetros

pWndControl
[in] Puntero a un objeto de ventana para el que el usuario invocó la ayuda de contexto.

dwHelpIDArray[]
[in] Valor reservado.

Comentarios

Actualmente, este método está reservado para un uso futuro. La implementación predeterminada no hace nada y el marco no lo llama actualmente.

CWinAppEx::OnClosingMainFrame

El marco de trabajo llama a este método cuando una ventana de marco está procesando WM_CLOSE.

virtual void OnClosingMainFrame(CFrameImpl* pFrameImpl);

Parámetros

pFrameImpl
[in] Un puntero a un objeto CFrameImpl.

Comentarios

La implementación predeterminada de este método guarda el estado de pFrameImpl.

CWinAppEx::OnViewDoubleClick

Llama al comando definido por el usuario asociado a una vista cuando el usuario hace doble clic en cualquier parte de esa vista.

virtual BOOL OnViewDoubleClick(
    CWnd* pWnd,
    int iViewId);

Parámetros

pWnd
[in] Puntero a un objeto derivado de la clase CView.

iViewId
[in] Identificador de vista.

Valor devuelto

TRUE si el marco encuentra un comando; de lo contrario, FALSE.

Comentarios

Para admitir el comportamiento personalizado del mouse, debe llamar a esta función al procesar el mensaje WM_LBUTTONDBLCLK. Este método ejecutará el comando asociado al identificador de vista proporcionado por iViewId. Para obtener más información sobre el comportamiento personalizado del mouse, consulte Personalización del teclado y del mouse.

CWinAppEx::OnWorkspaceIdle

virtual BOOL OnWorkspaceIdle(CWnd*);

Parámetros

[in] CWnd*\

Valor devuelto

Comentarios

CWinAppEx::PreLoadState

El marco de trabajo llama a este método inmediatamente antes de cargar el estado de la aplicación desde el Registro.

virtual void PreLoadState();

Comentarios

Invalide este método si desea realizar cualquier procesamiento inmediatamente antes de que el marco de trabajo cargue el estado de la aplicación.

CWinAppEx::PreSaveState

El marco de trabajo llama a este método inmediatamente antes de guardar el estado de la aplicación.

virtual void PreSaveState();

Comentarios

Invalide este método si desea realizar cualquier procesamiento inmediatamente antes de que el marco de trabajo guarde el estado de la aplicación.

CWinAppEx::ReloadWindowPlacement

Vuelve a cargar el tamaño y la ubicación de una ventana desde el Registro.

virtual BOOL ReloadWindowPlacement(CFrameWnd* pFrame);

Parámetros

pFrame
[in] Puntero a una ventana de marco.

Valor devuelto

Distinto de cero si el método se realizó correctamente; 0 si se produjo un error en la carga o no hay datos que cargar.

Comentarios

Use la función CWinAppEx::StoreWindowPlacement para escribir el tamaño y la ubicación de una ventana en el Registro.

CWinAppEx::SaveCustomState

El marco de trabajo llama a este método después de guardar el estado de la aplicación en el Registro.

virtual void SaveCustomState();

Comentarios

Invalide este método si desea realizar algún procesamiento después de que la aplicación guarde el estado en el Registro. De forma predeterminada, este método no hace nada.

CWinAppEx::SaveState

Escribe el estado de la aplicación en el Registro de Windows.

virtual BOOL SaveState(
    LPCTSTR lpszSectionName = NULL,
    CFrameImpl* pFrameImpl = NULL);

BOOL SaveState(
    CMDIFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL SaveState(
    CFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL SaveState(
    COleIPFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

Parámetros

lpszSectionName
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

pFrameImpl
[in] Un puntero a un objeto CFrameImpl. Este marco se guarda en el Registro de Windows.

pFrame
[in] Puntero a un objeto de ventana de marco. Este marco se guarda en el Registro de Windows.

Valor devuelto

TRUE si es correcto; de lo contrario, FALSE.

Comentarios

Este método guarda el estado de la aplicación y cualquier información de estado de la ventana de marco proporcionada. Si no proporciona una ventana de marco, el método solo guarda el estado de la aplicación. La información de la aplicación incluye el estado de la clase CMouseManager, la clase CContextMenuManager, la clase CKeyboardManager y la clase CUserToolsManager.

El parámetro lpszSectionName no es la ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

CWinAppEx::SetRegistryBase

Establece la ruta de acceso predeterminada del Registro de la aplicación.

LPCTSTR SetRegistryBase(LPCTSTR lpszSectionName = NULL);

Parámetros

lpszSectionName
[in] Cadena que contiene la ruta de acceso de una clave del Registro.

Valor devuelto

Cadena que contiene la ruta de acceso de la ubicación predeterminada del Registro.

Comentarios

Todos los métodos de la clase CWinAppEx que acceden al Registro se inician en una ubicación predeterminada. Use este método para cambiar esa ubicación predeterminada del Registro. Use CWinAppEx::GetRegistryBase para recuperar la ubicación predeterminada del Registro.

CWinAppEx::ShowPopupMenu

Muestra un menú emergente.

virtual BOOL ShowPopupMenu(
    UINT uiMenuResId,
    const CPoint& point,
    CWnd* pWnd);

Parámetros

uiMenuResId
[in] Identificador del recurso de menú.

point
[in] Elemento CPoint que especifica la posición del menú en las coordenadas de la pantalla.

pWnd
[in] Puntero a la ventana que posee el menú emergente.

Valor devuelto

Distinto de cero si el menú emergente se muestra correctamente; de lo contrario, 0.

Comentarios

Este método muestra el menú asociado a uiMenuResId.

Para admitir menús emergentes, debe tener un objeto CContextMenuManager. Si no ha inicializado el objeto CContextMenuManager, ShowPopupMenu producirá un error.

CWinAppEx::StoreWindowPlacement

Lo llama el marco de trabajo para escribir el tamaño y la ubicación de la ventana de marco principal en el Registro.

virtual BOOL StoreWindowPlacement(
    const CRect& rectNormalPosition,
    int nFlags,
    int nShowCmd);

Parámetros

nFlags
[in] Marcas que controlan la posición de la ventana minimizada y cómo cambia el sistema operativo entre una ventana minimizada y una ventana restaurada.

nShowCmd
[in] Entero que especifica el estado de presentación de la ventana. Para obtener más información acerca de los posibles valores, consulte CWnd::ShowWindow.

rectNormalPosition
[in] Rectángulo que contiene las coordenadas de la ventana de marco principal cuando se encuentra en estado restaurado.

Valor devuelto

Su valor será distinto de cero en caso correcto, de lo contrario, será cero.

Comentarios

De manera predeterminada, MFC guarda automáticamente la posición y el estado de la ventana de marco principal antes de que se cierre la aplicación. Esta información se almacena en el Registro de Windows en la clave WindowPlacement en la ubicación predeterminada del Registro de la aplicación. Para obtener más información sobre la ubicación predeterminada del Registro de la aplicación, consulte CWinAppEx::GetRegistryBase.

Invalide este método si desea almacenar información adicional sobre la ventana de marco principal.

CWinAppEx::WriteBinary

Escribe datos binarios en el registro.

BOOL WriteBinary(
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Parámetros

lpszEntry
[in] Cadena que contiene el nombre de una clave del Registro.

pData
[in] Datos que se van a almacenar.

nBytes
[in] Tamaño en bytes de pData.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszEntry es el nombre de una entrada del Registro que está ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si no existe la clave especificada por lpszEntry, este método la creará.

CWinAppEx::WriteInt

Escribe datos numéricos en el registro.

BOOL WriteInt(
    LPCTSTR lpszEntry,
    int nValue);

Parámetros

lpszEntry
[in] Cadena que contiene el nombre de una clave del Registro.

nValue
[in] Datos que se van a almacenar.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszEntry es el nombre de una entrada del Registro ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si no existe la clave especificada por lpszEntry, este método la creará.

CWinAppEx::WriteObject

Escribe datos derivados de la clase CObject en el Registro.

BOOL WriteObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parámetros

lpszEntry
[in] Cadena que contiene el valor que se va a establecer.

obj
[in] Referencia a los datos de tipo CObject que el método va a almacenar.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

Este método escribe los datos de obj en el valor especificado en la clave del Registro predeterminada. Use CWinAppEx::GetRegistryBase para determinar la clave del Registro actual.

CWinAppEx::WriteSectionBinary

Escribe datos binarios en un valor del Registro.

BOOL WriteSectionBinary(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Parámetros

lpszSubSection
[in] Cadena que contiene el nombre de una clave del Registro

lpszEntry
[in] Cadena que contiene el valor que se va a establecer.

pData
[in] Datos que se van a escribir en el Registro.

nBytes
[in] Tamaño en bytes de pData.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszSubSection no es la ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si no existe la clave especificada por lpszEntry, este método la creará.

CWinAppEx::WriteSectionInt

Escribe datos numéricos en el registro.

BOOL WriteSectionInt(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    int nValue);

Parámetros

lpszSubSection
[in] Cadena que contiene la ruta de acceso relativa de una clave del Registro.

lpszEntry
[in] Cadena que contiene el valor que se va a establecer.

nValue
[in] Datos que se van a escribir en el Registro.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega a la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si no existe la clave especificada por lpszEntry, este método la creará.

CWinAppEx::WriteSectionObject

Escribe datos derivados de la clase CObject en un valor del Registro específico.

BOOL WriteSectionObject(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    CObject& obj);

Parámetros

lpszSubSection
[in] Cadena que contiene el nombre de una clave del Registro.

lpszEntry
[in] Cadena que contiene el nombre del valor que se va a establecer.

obj
[in] Datos que se van a almacenar.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si el valor especificado por lpszEntry no existe en la clave del Registro especificada por lpszSubSection, este método creará ese valor.

CWinAppEx::WriteSectionString

Escribe datos de cadena en un valor del Registro.

BOOL WriteSectionString(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parámetros

lpszSubSection
[in] Cadena que contiene el nombre de una clave del Registro.

lpszEntry
[in] Cadena que contiene el valor que se va a establecer.

lpszValue
[in] Datos de cadena que se van a escribir en el Registro.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszSubSection no es una ruta de acceso absoluta de una entrada del Registro. Es una ruta de acceso relativa que se agrega al final de la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si el valor especificado por lpszEntry no existe en lpszSubSection, este método lo creará.

CWinAppEx::WriteString

Escribe datos de cadena en el Registro.

BOOL WriteString(
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parámetros

lpszEntry
[in] Cadena que contiene el nombre de una clave del Registro.

lpszValue
[in] Datos que se van a almacenar.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

El parámetro lpszEntry es el nombre de una entrada del Registro ubicada en la clave del Registro predeterminada de la aplicación. Para obtener o establecer la clave del Registro predeterminada, use los métodos CWinAppEx::GetRegistryBase y CWinAppEx::SetRegistryBase respectivamente.

Si no existe la clave especificada por lspzEntry, este método la creará.

Consulte también

Gráfico de jerarquías
Clases
CWinApp (clase)
CMouseManager (clase)
CContextMenuManager (clase)
CKeyboardManager (clase)
CUserToolsManager (clase)