Compartilhar via


Classe CWinAppEx

CWinAppEx manipula o estado do aplicativo, salva o estado no registro, carrega o estado do registro, inicializa os gerenciadores de aplicativos e fornece links para esses gerenciadores de aplicativos.

Para conhecer mais detalhes, confira o código-fonte localizado na pasta mfc da instalação do Visual Studio. Por exemplo, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Sintaxe

class CWinAppEx : public CWinApp

Membros

Construtores públicos

Nome Descrição
CWinAppEx::CWinAppEx Constrói um objeto CWinAppEx.

Métodos públicos

Nome Descrição
CWinAppEx::CleanState Remove informações sobre o aplicativo do registro do Windows.
CWinAppEx::EnableLoadWindowPlacement Especifica se o aplicativo carregará o tamanho e o local inicial da janela de quadro principal do registro.
CWinAppEx::EnableTearOffMenus Habilita menus destacáveis para o aplicativo.
CWinAppEx::EnableUserTools Permite que o usuário crie comandos de menu personalizados no aplicativo.
CWinAppEx::ExitInstance Chamado pela estrutura de dentro da função membro Run para sair dessa instância do aplicativo. (Substitui CWinApp::ExitInstance.)
CWinAppEx::GetBinary Lê dados binários associados ao valor de registro especificado.
CWinAppEx::GetContextMenuManager Retorna um ponteiro para o objeto CContextMenuManager global.
CWinAppEx::GetDataVersion
CWinAppEx::GetDataVersionMajor Retorna a versão principal do aplicativo salva no registro do Windows.
CWinAppEx::GetDataVersionMinor Retorna a versão secundária do aplicativo salva no registro do Windows.
CWinAppEx::GetInt Lê dados numéricos associados ao valor especificado do registro.
CWinAppEx::GetKeyboardManager Retorna um ponteiro para o objeto CKeyboardManager global.
CWinAppEx::GetMouseManager Retorna um ponteiro para o objeto CMouseManager global.
CWinAppEx::GetObject Lê dados derivados de CObject associados ao valor especificado do registro.
CWinAppEx::GetRegSectionPath Retorna uma cadeia de caracteres que é o caminho de uma chave do registro. Esse caminho concatena o caminho relativo fornecido ao caminho do aplicativo.
CWinAppEx::GetRegistryBase Retorna o caminho do registro para o aplicativo.
CWinAppEx::GetSectionBinary Lê dados binários associados à chave e ao valor especificados do registro.
CWinAppEx::GetSectionInt Lê dados numéricos do registro associados à chave e ao valor especificados do registro.
CWinAppEx::GetSectionObject Lê dados CObject associados à chave e ao valor especificados do registro.
CWinAppEx::GetSectionString Lê dados de cadeia de caracteres associados à chave e ao valor especificados do registro.
CWinAppEx::GetShellManager Retorna um ponteiro para o objeto CShellManager global.
CWinAppEx::GetString Lê dados de cadeia de caracteres associados ao valor especificado do registro.
CWinAppEx::GetTooltipManager Retorna um ponteiro para o objeto CTooltipManager global.
CWinAppEx::GetUserToolsManager Retorna um ponteiro para o objeto CUserToolsManager global.
CWinAppEx::InitContextMenuManager Inicializa o objeto CContextMenuManager.
CWinAppEx::InitKeyboardManager Inicializa o objeto CKeyboardManager.
CWinAppEx::InitMouseManager Inicializa o objeto CMouseManager.
CWinAppEx::InitShellManager Inicializa a classe CShellManager.
CWinAppEx::InitTooltipManager Inicializa a classe CTooltipManager.
CWinAppEx::IsResourceSmartUpdate
CWinAppEx::IsStateExists Indica se a chave especificada está no registro.
CWinAppEx::LoadState Carrega o estado do aplicativo do registro.
CWinAppEx::OnAppContextHelp Chamado pela estrutura quando o usuário solicita ajuda de contexto para a caixa de diálogo Personalização.
CWinAppEx::OnViewDoubleClick Chama o comando definido pelo usuário quando o usuário clica duas vezes em qualquer lugar do aplicativo.
CWinAppEx::OnWorkspaceIdle
CWinAppEx::SaveState Grava o estado da estrutura do aplicativo no registro do Windows.
CWinAppEx::SetRegistryBase Define o caminho da chave do registro padrão. Essa chave servirá como uma raiz para todas as chamadas do registro posteriores.
CWinAppEx::ShowPopupMenu Exibe um menu pop-up.
CWinAppEx::WriteBinary Grava os dados binários no valor de registro especificado.
CWinAppEx::WriteInt Grava os dados numéricos no valor de registro especificado.
CWinAppEx::WriteObject Grava dados derivados da Classe CObject no valor de registro especificado.
CWinAppEx::WriteSectionBinary Grava os dados binários em um valor da chave do registro especificado.
CWinAppEx::WriteSectionInt Grava os dados numéricos em um valor da chave do registro especificado.
CWinAppEx::WriteSectionObject Grava dados derivados da classe CObject em um valor da chave do registro especificada.
CWinAppEx::WriteSectionString Grava os dados de cadeia de caracteres em um valor da chave do registro especificado.
CWinAppEx::WriteString Grava os dados de cadeia de caracteres no valor de registro especificado.

Métodos protegidos

Nome Descrição
CWinAppEx::LoadCustomState Chamado pela estrutura quando o estado do aplicativo foi carregado.
CWinAppEx::LoadWindowPlacement Chamado pela estrutura quando ela carrega o tamanho e o local do aplicativo do registro. Os dados carregados incluem o tamanho e o local do quadro principal no momento em que o aplicativo foi fechado pela última vez.
CWinAppEx::OnClosingMainFrame Chamado pela estrutura quando uma janela de quadro principal está processando WM_CLOSE.
CWinAppEx::PreLoadState Chamado pela estrutura logo antes do estado do aplicativo ser carregado.
CWinAppEx::PreSaveState Chamado pela estrutura logo antes do estado do aplicativo ser salvo.
CWinAppEx::ReloadWindowPlacement Recarrega o tamanho e o local da janela fornecida do registro
CWinAppEx::SaveCustomState Chamado pela estrutura depois após ela gravar o estado do aplicativo no registro.
CWinAppEx::StoreWindowPlacement Chamado pela estrutura para gravar o tamanho e o local do quadro principal no registro.

Membros de dados

Nome Descrição
CWinAppEx::m_bForceImageReset Especifica se a estrutura redefinirá todas as imagens da barra de ferramentas quando a janela de quadro que contém a barra de ferramentas for carregada.

Comentários

Grande parte da funcionalidade fornecida pela estrutura do MFC depende da classe CWinAppEx. Você pode incorporar a classe CWinAppEx no aplicativo de uma de duas maneiras:

  • Construir uma classe CWinAppEx no thread principal.

  • Derivar a classe do aplicativo principal de CWinAppEx.

Depois de incorporar CWinAppEx ao aplicativo, você pode inicializar qualquer um dos gerenciadores de aplicativos. Antes de usar um gerenciador de aplicativos, inicialize-o chamando o método de inicialização apropriado. Para obter um ponteiro para um gerenciador específico, chame o método get associado. A classe CWinAppEx gerencia os seguintes gerenciadores de aplicativos: Classe CMouseManager, Classe CContextMenuManager, Classe CKeyboardManager, Classe CUserToolsManager e Classe CMenuTearOffManager.

Hierarquia de herança

CObject

CCmdTarget

CWinThread

CWinApp

CWinAppEx

Requisitos

Cabeçalho: afxwinappex.h

CWinAppEx::CleanState

Remove todas as informações sobre o aplicativo do registro do Windows.

virtual BOOL CleanState(LPCTSTR lpszSectionName=NULL);

Parâmetros

lpszSectionName
[in] Uma cadeia de caracteres que contém um caminho de uma chave do registro.

Valor de retorno

Diferente de zero se o método foi bem-sucedido; caso contrário, 0.

Comentários

Esse método limpa dados do aplicativo de uma seção específica do registro. Você pode especificar a seção a limpar usando o parâmetro lpszSectionName. Se lpszSectionName for NULL, o método usará o caminho padrão do registro armazenado no objeto CWinAppEx. Para obter o caminho do registro padrão, use CWinAppEx::GetRegistryBase.

CWinAppEx::CWinAppEx

Constrói um objeto CWinAppEx.

CWinAppEx(BOOL bResourceSmartUpdate = FALSE);

Parâmetros

bResourceSmartUpdate
[in] Um parâmetro booliano que especifica se o objeto de espaço de trabalho deve detectar e lidar com atualizações de recursos.

Comentários

A classe CWinAppEx tem métodos de inicialização, fornece funcionalidade para salvar e carregar informações do aplicativo no registro e controla as configurações globais do aplicativo. Ela também permite que você use gerenciadores globais, como a Classe CKeyboardManager e a Classe CUserToolsManager. Cada aplicativo pode ter apenas uma instância da classe CWinAppEx.

CWinAppEx::EnableLoadWindowPlacement

Especifica se o aplicativo carregará o tamanho e o local inicial da janela de quadro principal do registro.

void EnableLoadWindowPlacement(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] Especifica se o aplicativo carrega o tamanho e o local inicial da janela de quadro principal do registro.

Comentários

Por padrão, o tamanho e o local do quadro principal são carregados do registro junto com outras configurações de aplicativo. Isso ocorre durante CWinAppEx::LoadState. Se não quiser carregar o posicionamento inicial da janela do registro, chame esse método com bEnable definido como FALSE.

CWinAppEx::EnableTearOffMenus

Cria e inicializa um objeto CMenuTearOffManager.

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

Parâmetros

lpszRegEntry
[in] Uma cadeia de caracteres que contém o caminho de uma chave do registro. O aplicativo usa essa chave do registro para armazenar informações sobre os menus destacáveis.

uiCmdFirst
[in] A ID do primeiro menu destacável.

uiCmdLast
[in] A ID do último menu destacável.

Valor de retorno

TRUE se CMenuTearOffManager for criado e inicializado com êxito; FALSE se ocorrer um erro ou se CMenuTearOffManager já existir.

Comentários

Use essa função para habilitar menus destacáveis no aplicativo. Chame essa função de InitInstance.

CWinAppEx::EnableUserTools

Permite que o usuário crie comandos de menu personalizados que reduzem pressionamentos de teclas no aplicativo. Esse método cria um 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
[entrada] Um inteiro sem sinal que a estrutura usa como espaço reservado para a ID de comando do menu de ferramentas do usuário.

uiCmdFirst
[in] A ID de comando do primeiro comando de ferramenta do usuário.

uiCmdLast
[entrada] A ID de comando do último comando de ferramenta do usuário.

pToolRTC
[in] Uma classe que o objeto CUserToolsManager usa para criar ferramentas de usuário.

uArgMenuID
[in] A ID do menu de argumento.

uInitDirMenuID
[in] A ID do menu do diretório da ferramenta inicial.

Valor de retorno

TRUE se o método criar e inicializar um objeto CUserToolsManager; FALSE se o método falhar ou se um objeto CUserToolsManager já existir.

Comentários

Quando você habilita ferramentas definidas pelo usuário, a estrutura dá suporte automaticamente a um menu dinâmico que pode ser estendido durante a personalização. A estrutura associa cada novo item a um comando externo. A estrutura invoca esses comandos quando o usuário seleciona o item apropriado no menu Ferramentas.

Sempre que o usuário adiciona um novo item, a estrutura cria um objeto. O tipo de classe do novo objeto é definido por pToolRTC. O tipo de classe pToolRTC deve ser derivado da Classe CUserTool.

Para obter mais informações sobre as ferramentas de usuário e como incorporá-las ao aplicativo, consulte Ferramentas definidas pelo usuário.

CWinAppEx::ExitInstance

virtual int ExitInstance();

Valor de retorno

Comentários

CWinAppEx::GetBinary

Lê dados binários de uma chave do registro especificada.

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

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro.

ppData
[out] Um ponteiro para o buffer que o método preenche com os dados binários.

pBytes
[out] Um ponteiro para um inteiro sem sinal que o método usa para gravar o número de bytes lidos.

Valor de retorno

TRUE se for bem-sucedido, caso contrário, FALSE.

Comentários

Esse método lê dados binários gravados no registro. Para gravar dados no registro, use os métodos CWinAppEx::WriteBinary e CWinAppEx::WriteSectionBinary.

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetContextMenuManager

Retorna um ponteiro para o objeto CContextMenuManager global.

CContextMenuManager* GetContextMenuManager();

Valor de retorno

Um ponteiro para o objeto CContextMenuManager global.

Comentários

Se o objeto CContextMenuManager não for inicializado, essa função chamará CWinAppEx::InitContextMenuManager antes de retornar um ponteiro.

CWinAppEx::GetDataVersion

int GetDataVersion() const;

Valor de retorno

Comentários

CWinAppEx::GetDataVersionMajor

Retorna a versão principal do aplicativo salva no registro do Windows quando você chama CWinAppEx::SaveState.

int GetDataVersionMajor() const;

Valor de retorno

Um valor inteiro que contém o número da versão principal.

CWinAppEx::GetDataVersionMinor

Retorna a versão secundária do aplicativo salva no registro do Windows quando você chama CWinAppEx::SaveState.

int GetDataVersionMinor() const;

Valor de retorno

Um valor inteiro que contém o número da versão secundária.

CWinAppEx::GetInt

Lê dados inteiros de uma chave do registro especificada.

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

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o nome de uma entrada do registro.

nDefault
[in] O valor padrão que o método retornará se a entrada do registro especificada não existir.

Valor de retorno

Os dados do registro se o método tiver sido bem-sucedido; caso contrário, nDefault.

Comentários

Esse método lê dados inteiros do registro. Se não houver dados inteiros associados à chave do registro indicada por lpszEntry, esse método retornará nDefault. Para gravar dados no registro, use os métodos CWinAppEx::WriteSectionInt e CWinAppEx::WriteInt.

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetKeyboardManager

Retorna um ponteiro para o objeto CKeyboardManager global.

CKeyboardManager* GetKeyboardManager();

Valor de retorno

Um ponteiro para o objeto CKeyboardManager global.

Comentários

Se o gerenciador de teclado não for inicializado, essa função chamará CWinAppEx::InitKeyboardManager antes de retornar um ponteiro.

CWinAppEx::GetMouseManager

Retorna um ponteiro para o objeto CMouseManager global.

CMouseManager* GetMouseManager();

Valor de retorno

Um ponteiro para o objeto CMouseManager global.

Comentários

Se o gerenciador de mouse não for inicializado, essa função chamará CWinAppEx::InitMouseManager antes de retornar um ponteiro.

CWinAppEx::GetObject

Lê dados derivados de CObject do registro.

BOOL GetObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o caminho relativo de uma entrada do registro.

obj
[out] Uma referência a um CObject. O método usa essa referência para armazenar os dados do registro.

Valor de retorno

Diferente de zero se o método foi bem-sucedido; caso contrário, 0.

Comentários

Esse método lê dados do registro derivados de CObject. Para gravar CObject dados no registro, use CWinAppEx::WriteObject ou CWinAppEx::WriteSectionObject.

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetRegistryBase

Recupera o caminho do registro padrão para o aplicativo.

LPCTSTR GetRegistryBase();

Valor de retorno

Uma cadeia de caracteres que contém o caminho do local do registro padrão.

Comentários

Todos os métodos da Classe CWinAppEx que acessam o registro começam em um local padrão. Use esse método para recuperar um caminho do local padrão do registro. Use CWinAppEx::SetRegistryBase para alterar o local padrão do registro.

CWinAppEx::GetRegSectionPath

Cria e retorna o caminho absoluto de uma chave do registro.

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

Parâmetros

szSectionAdd
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

Valor de retorno

Um CString que contém o caminho absoluto de uma chave do registro.

Comentários

Esse método define o caminho absoluto da chave do registro acrescentando o caminho relativo szSectionAdd ao local do registro padrão para o aplicativo. Para obter a chave do registro padrão, use o método CWinAppEx::GetRegistryBase.

CWinAppEx::GetSectionBinary

Lê dados binários do registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser lido.

ppData
[out] Um ponteiro para o buffer em que o método armazena os dados.

pBytes
[out] Um ponteiro para um inteiro sem sinal. O método grava o tamanho de ppData nesse parâmetro.

Valor de retorno

TRUE se for bem-sucedido, caso contrário, FALSE.

Comentários

Esse método lê dados binários gravados no registro usando os métodos CWinAppEx::WriteBinary e CWinAppEx::WriteSectionBinary.

O parâmetro lpszSubSection não é um caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetSectionInt

Lê dados inteiros do registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser lido.

nDefault
[in] O valor padrão a ser retornado se o valor especificado não existir.

Valor de retorno

Os dados inteiros armazenados no valor de registro especificado; nDefault se os dados não existirem.

Comentários

Use os métodos CWinAppEx::WriteInt e CWinAppEx::WriteSectionInt para gravar dados inteiros no registro.

O parâmetro lpszSubSection não é um caminho absoluto de uma entrada do registro. Ele é um caminho relativo adicionado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetSectionObject

Lê dados do registro CObject do registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser lido.

obj
[out] Uma referência a um CObject. O método usa esse CObject para armazenar os dados do registro.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Esse método lê dados do registro. Os dados lidos são CObject ou dados de uma classe derivada de CObject. Para gravar CObject dados no registro, use CWinAppEx::WriteObject ou CWinAppEx::WriteSectionObject.

O parâmetro lpszSubSection não é um caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetSectionString

Lê dados de cadeia de caracteres do registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser lido.

lpszDefault
[in] O valor padrão a ser retornado se o valor especificado não existir.

Valor de retorno

Os dados de cadeia de caracteres armazenados no valor do registro especificado se existirem; caso contrário lpszDefault.

Comentários

Esse método lê dados de cadeia de caracteres gravados no registro. Use CWinAppEx::WriteString e CWinAppEx::WriteSectionString para gravar dados de cadeia de caracteres no registro.

O parâmetro lpszSubSection não é um caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetShellManager

Retorna um ponteiro para o objeto CShellManager global.

CShellManager* GetShellManager();

Valor de retorno

Um ponteiro para o objeto CShellManager global.

Comentários

Se o objeto CShellManager não for inicializado, essa função chamará CWinAppEx::InitShellManager antes de retornar um ponteiro.

CWinAppEx::GetString

Lê dados de cadeia de caracteres de uma chave do registro especificada.

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

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro

lpzDefault
[in] O valor padrão que o método retornará se a entrada do registro especificada não existir.

Valor de retorno

Os dados de cadeia de caracteres armazenados no registro se tiver êxito; caso contrário, lpszDefault.

Comentários

Esse método lê dados de cadeia de caracteres gravados no registro. Para gravar dados no registro, use os métodos CWinAppEx::WriteString ou CWinAppEx::WriteSectionString.

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::GetTooltipManager

Retorna um ponteiro para o objeto CTooltipManager global.

CTooltipManager* GetTooltipManager();

Valor de retorno

Um ponteiro para o objeto CTooltipManager global.

Comentários

Se o objeto CTooltipManager não for inicializado, essa função chamará CWinAppEx::InitTooltipManager antes de retornar um ponteiro.

CWinAppEx::GetUserToolsManager

Retorna um ponteiro para o objeto CUserToolsManager global.

CUserToolsManager* GetUserToolsManager();

Valor de retorno

Um ponteiro para o objeto CUserToolsManager global; NULL se o gerenciamento de ferramentas de usuário não estiver habilitado para o aplicativo.

Comentários

Antes de recuperar um ponteiro para o objeto CUserToolsManager, inicialize o gerenciador chamando CWinAppEx::EnableUserTools.

CWinAppEx::InitContextMenuManager

Inicializa o objeto CContextMenuManager.

BOOL InitContextMenuManager();

Valor de retorno

Diferente de zero se o método criar o objeto CContextMenuManager; 0 se o objeto CContextMenuManager já existir.

Comentários

Se você chamar CWinAppEx::GetContextMenuManager, a implementação padrão desse método chamará InitContextMenuManager.

Se o aplicativo já tiver um gerenciador de menus de contexto e você chamar InitContextMenuManager, o aplicativo terá uma falha ASSERT. Portanto, não chame InitContextMenuManager se criar um objeto CContextMenuManager diretamente. Se não estiver usando um CContextMenuManager personalizado, você deverá usar GetContextMenuManager para criar um objeto CContextMenuManager.

CWinAppEx::InitKeyboardManager

Inicializa o objeto CKeyboardManager.

BOOL InitKeyboardManager();

Valor de retorno

Diferente de zero se o método criar o objeto CKeyboardManager; 0 se o objeto CKeyboardManager já existir.

Comentários

Se você chamar CWinAppEx::GetKeyboardManager, a implementação padrão desse método chamará InitKeyboardManager.

Se o aplicativo já tiver um gerenciador de teclado e você chamar InitKeyboardManager, o aplicativo terá uma falha ASSERT. Portanto, não chame InitKeyboardManager se criar um objeto CKeyboardManager diretamente. Se não estiver usando um CKeyboardManager personalizado, você deverá usar GetKeyboardManager para criar um objeto CKeyboardManager.

CWinAppEx::InitMouseManager

Inicializa o objeto CMouseManager.

BOOL InitMouseManager();

Valor de retorno

Diferente de zero se o método criar o objeto CMouseManager; 0 se o objeto CMouseManager já existir.

Comentários

Se você chamar CWinAppEx::GetMouseManager, a implementação padrão desse método chamará InitMouseManager.

Se o aplicativo já tiver um gerenciador de mouse e você chamar InitMouseManager, o aplicativo terá uma falha ASSERT. Portanto, não chame InitMouseManager se criar um objeto CMouseManager diretamente. Se não estiver usando um CMouseManager personalizado, você deverá usar GetMouseManager para criar um objeto CMouseManager.

CWinAppEx::InitShellManager

Inicializa o objeto CShellManager.

BOOL InitShellManager();

Valor de retorno

Diferente de zero se o método criar o objeto CShellManager; 0 se o objeto CShellManager já existir.

Comentários

Se você chamar CWinAppEx::GetShellManager, a implementação padrão desse método chamará InitShellManager.

Se o aplicativo já tiver um gerenciador de shell e você chamar InitShellManager, o aplicativo apresentará uma falha ASSERT. Portanto, não chame InitShellManager se você criar um objeto CShellManager diretamente. Se não estiver usando um CShellManager personalizado, use GetShellManager para criar um objeto CShellManager.

CWinAppEx::InitTooltipManager

Inicializa o objeto CTooltipManager.

BOOL InitTooltipManager();

Valor de retorno

Diferente de zero se o método criar o objeto CTooltipManager; 0 se o objeto CTooltipManager já existir.

Comentários

Se você chamar CWinAppEx::GetTooltipManager, a implementação padrão desse método chamará InitTooltipManager.

Se o aplicativo já tiver um gerenciador de dicas de ferramentas e você chamar InitTooltipManager, o aplicativo terá uma falha ASSERT. Portanto, não chame InitTooltipManager se criar um objeto CTooltipManager diretamente. Se não estiver usando um CTooltipManager personalizado, você deverá usar GetTooltipManager para criar um objeto CTooltipManager.

CWinAppEx::IsResourceSmartUpdate

BOOL IsResourceSmartUpdate() const;

Valor de retorno

Comentários

CWinAppEx::IsStateExists

Indica se a chave especificada está no registro.

BOOL IsStateExists(LPCTSTR lpszSectionName);

Parâmetros

lpszSectionName
[in] Uma cadeia de caracteres que contém um caminho de uma chave do registro.

Valor de retorno

Diferente de zero se a chave estiver no registro; caso contrário, 0.

CWinAppEx::LoadCustomState

A estrutura chama esse método depois de carregar o estado do aplicativo do registro.

virtual void LoadCustomState();

Comentários

Substitua esse método se quiser executar qualquer processamento depois que o aplicativo carregar o estado do registro. Por padrão, esse método não faz nada.

Para carregar informações de estado personalizadas do registro, primeiro as informações devem ser salvas usando CWinAppEx::SaveCustomState.

CWinAppEx::LoadState

Lê o estado do aplicativo do registro do 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] Um ponteiro para um objeto de janela de quadro. O método aplica as informações de estado no registro a essa janela de quadro.

lpszSectionName
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

pFrameImpl
[in] Um ponteiro para um objeto CFrameImpl. O método aplica as informações de estado no registro a essa janela de quadro.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Esse método carrega o estado do aplicativo e qualquer informação de estado sobre uma janela de quadro. As informações carregadas sobre a janela de quadro são aplicadas à janela de quadro fornecida. Se você não fornecer uma janela de quadro, somente as informações de estado do aplicativo serão carregadas. As informações do aplicativo incluem o estado da Classe CMouseManager, da Classe CContextMenuManager, da Classe CKeyboardManager e da ClasseCUserToolsManager.

A implementação padrão de CFrameImpl::OnLoadFrame chama LoadState.

O parâmetro lpszSectionName não é o caminho absoluto para uma entrada do registro. Ele é um caminho relativo adicionado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::LoadWindowPlacement

Chamado pela estrutura quando ela carrega o tamanho e o local da janela de quadro principal do registro.

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

Parâmetros

rectNormalPosition
[out] Um retângulo que contém as coordenadas da janela de quadro principal quando ela está na posição restaurada.

nFlags
[out] Sinalizadores que controlam a posição da janela minimizada e como o sistema operacional alterna entre uma janela minimizada e uma janela restaurada.

nShowCmd
[out] Um inteiro que especifica o estado de exibição da janela. Para obter mais informações sobre os valores possíveis, consulte CWnd::ShowWindow.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Por padrão, o MFC carrega automaticamente a posição e o estado anteriores da janela de quadro principal quando o aplicativo é iniciado. Para obter mais informações sobre como essas informações são armazenadas no registro, consulte CWinAppEx::StoreWindowPlacement.

Substitua esse método se quiser carregar informações adicionais sobre a janela de quadro principal.

CWinAppEx::m_bForceImageReset

Especifica se a estrutura redefinirá todas as imagens da barra de ferramentas quando recarregar a janela de quadro que contém a barra de ferramentas.

BOOL m_bForceImageReset;

Comentários

O membro de dados m_bForceImageReset é uma variável protegida.

CWinAppEx::OnAppContextHelp

A estrutura chama esse método quando o usuário solicita ajuda de contexto para a caixa de diálogo Personalização.

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

Parâmetros

pWndControl
[in] Um ponteiro para um objeto de janela para o qual o usuário invocou ajuda de contexto.

dwHelpIDArray[]
[in] Um valor reservado.

Comentários

No momento, este método está reservado para uso futuro. A implementação padrão não faz nada e atualmente não é chamada pela estrutura.

CWinAppEx::OnClosingMainFrame

A estrutura chama esse método quando uma janela de quadro está processando WM_CLOSE.

virtual void OnClosingMainFrame(CFrameImpl* pFrameImpl);

Parâmetros

pFrameImpl
[in] Um ponteiro para um objeto CFrameImpl.

Comentários

A implementação padrão desse método salva o estado de pFrameImpl.

CWinAppEx::OnViewDoubleClick

Chama o comando definido pelo usuário associado a uma exibição quando o usuário clica duas vezes em qualquer lugar nessa exibição.

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

Parâmetros

pWnd
[in] Um ponteiro para um objeto derivado da Classe CView.

iViewId
[in] A ID da exibição.

Valor de retorno

TRUE se a estrutura encontrar um comando; caso contrário, FALSE.

Comentários

Para dar suporte ao comportamento personalizado do mouse, chame essa função ao processar a mensagem WM_LBUTTONDBLCLK. Esse método executará o comando associado à ID de exibição fornecida por iViewId. Para obter mais informações sobre o comportamento personalizado do mouse, consulte Personalização de teclado e mouse.

CWinAppEx::OnWorkspaceIdle

virtual BOOL OnWorkspaceIdle(CWnd*);

Parâmetros

[in] CWnd*\

Valor de retorno

Comentários

CWinAppEx::PreLoadState

A estrutura chama esse método logo antes de carregar o estado do aplicativo do registro.

virtual void PreLoadState();

Comentários

Substitua esse método se quiser executar qualquer processamento logo antes que a estrutura carregue o estado do aplicativo.

CWinAppEx::PreSaveState

A estrutura chama esse método logo antes de salvar o estado do aplicativo.

virtual void PreSaveState();

Comentários

Substitua esse método se quiser executar qualquer processamento logo antes que a estrutura salve o estado do aplicativo.

CWinAppEx::ReloadWindowPlacement

Recarrega o tamanho e o local de uma janela do registro.

virtual BOOL ReloadWindowPlacement(CFrameWnd* pFrame);

Parâmetros

pFrame
[in] Um ponteiro para uma janela de quadro.

Valor de retorno

Diferente de zero se o método for sido bem-sucedido; 0 se a carga tiver falhado ou não houver dados a serem carregados.

Comentários

Use a função CWinAppEx::StoreWindowPlacement para gravar o tamanho e o local de uma janela no registro.

CWinAppEx::SaveCustomState

A estrutura chama esse método depois de salvar o estado do aplicativo no registro.

virtual void SaveCustomState();

Comentários

Substitua esse método se quiser executar qualquer processamento depois que o aplicativo salvar o estado no registro. Por padrão, esse método não faz nada.

CWinAppEx::SaveState

Grava o estado do aplicativo no registro do 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] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

pFrameImpl
[in] Um ponteiro para um objeto CFrameImpl. Esse quadro é salvo no registro do Windows.

pFrame
[in] Um ponteiro para um objeto de janela de quadro. Esse quadro é salvo no registro do Windows.

Valor de retorno

TRUE se for bem-sucedido, caso contrário, FALSE.

Comentários

Esse método salva o estado do aplicativo e qualquer informação de estado sobre a janela de quadro fornecida. Se você não fornecer uma janela de quadro, o método salvará apenas o estado do aplicativo. As informações do aplicativo incluem o estado da Classe CMouseManager, da Classe CContextMenuManager, da Classe CKeyboardManager e da ClasseCUserToolsManager.

O parâmetro lpszSectionName não é o caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

CWinAppEx::SetRegistryBase

Define o caminho do registro padrão para o aplicativo.

LPCTSTR SetRegistryBase(LPCTSTR lpszSectionName = NULL);

Parâmetros

lpszSectionName
[in] Uma cadeia de caracteres que contém o caminho de uma chave do registro.

Valor de retorno

Uma cadeia de caracteres que contém o caminho do local do registro padrão.

Comentários

Todos os métodos da Classe CWinAppEx que acessam o registro começam em um local padrão. Use esse método para alterar o local padrão do registro. Use CWinAppEx::GetRegistryBase para recuperar o local padrão do registro.

CWinAppEx::ShowPopupMenu

Exibe um menu pop-up.

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

Parâmetros

uiMenuResId
[in] Uma ID do recurso de menu.

point
[in] Um CPoint que especifica a posição do menu nas coordenadas da tela.

pWnd
[in] Um ponteiro para a janela que possui o menu pop-up.

Valor de retorno

Diferente de zero se o menu pop-up for exibido com êxito; caso contrário, 0.

Comentários

Esse método exibe o menu associado a uiMenuResId.

Para dar suporte a menus pop-up, você precisa ter um objeto CContextMenuManager. Se você ainda não tiver inicializado o objeto CContextMenuManager, ShowPopupMenu falhará.

CWinAppEx::StoreWindowPlacement

Chamado pela estrutura para gravar o tamanho e o local da janela do quadro principal no registro.

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

Parâmetros

nFlags
[in] Sinalizadores que controlam a posição da janela minimizada e como o sistema operacional alterna entre uma janela minimizada e uma janela restaurada.

nShowCmd
[in] Um inteiro que especifica o estado de exibição da janela. Para obter mais informações sobre os valores possíveis, consulte CWnd::ShowWindow.

rectNormalPosition
[in] Um retângulo que contém as coordenadas da janela de quadro principal quando ela está no estado restaurado.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Por padrão, o MFC salva automaticamente a posição e o estado da janela de quadro principal antes da saída do aplicativo. Essas informações são armazenadas no registro do Windows sob a chave WindowPlacement no local do registro padrão para o aplicativo. Para obter mais informações sobre o local do registro padrão do aplicativo, consulte CWinAppEx::GetRegistryBase.

Substitua esse método se quiser armazenar informações adicionais sobre a janela de quadro principal.

CWinAppEx::WriteBinary

Grava dados binários no registro.

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

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro.

pData
[in] Os dados a serem armazenados.

nBytes
[in] O tamanho de pData em bytes.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se a chave especificada por lpszEntry não existir, o método a criará.

CWinAppEx::WriteInt

Grava dados numéricos no registro.

BOOL WriteInt(
    LPCTSTR lpszEntry,
    int nValue);

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro.

nValue
[in] Os dados a serem armazenados.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se a chave especificada por lpszEntry não existir, o método a criará.

CWinAppEx::WriteObject

Grava dados derivados da Classe CObject no registro.

BOOL WriteObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser definido.

obj
[in] Uma referência aos dados CObject que o método armazenará.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

Esse método grava os dados obj no valor especificado na chave do registro padrão. Use CWinAppEx::GetRegistryBase para determinar a chave do registro atual.

CWinAppEx::WriteSectionBinary

Grava dados binários em um valor no registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser definido.

pData
[in] Os dados a serem gravados no registro.

nBytes
[in] O tamanho de pData em bytes.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszSubSection não é o caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se a chave especificada por lpszEntry não existir, o método a criará.

CWinAppEx::WriteSectionInt

Grava dados numéricos no registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o caminho relativo de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser definido.

nValue
[in] Os dados a serem gravados no registro.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszSubSection não é um caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado à chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se a chave especificada por lpszEntry não existir, o método a criará.

CWinAppEx::WriteSectionObject

Grava dados derivados da Classe CObject em um valor do registro específico.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o nome do valor a ser definido.

obj
[in] Os dados a serem armazenados.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszSubSection não é um caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se o valor especificado por lpszEntry não existir na chave do registro especificada por lpszSubSection, esse método criará esse valor.

CWinAppEx::WriteSectionString

Grava dados de cadeia de caracteres em um valor no registro.

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

Parâmetros

lpszSubSection
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro.

lpszEntry
[in] Uma cadeia de caracteres que contém o valor a ser definido.

lpszValue
[in] Os dados de cadeia de caracteres a serem gravados no registro.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszSubSection não é um caminho absoluto para uma entrada do registro. Ele é um caminho relativo acrescentado ao final da chave do registro padrão para o aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se o valor especificado por lpszEntry não existir em lpszSubSection, esse método o criará.

CWinAppEx::WriteString

Grava dados de cadeia de caracteres no registro.

BOOL WriteString(
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parâmetros

lpszEntry
[in] Uma cadeia de caracteres que contém o nome de uma chave do registro.

lpszValue
[in] Os dados a serem armazenados.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

Comentários

O parâmetro lpszEntry é o nome de uma entrada do registro localizada sob a chave do registro padrão do aplicativo. Para obter ou definir a chave do registro padrão, use os métodos CWinAppEx::GetRegistryBase e CWinAppEx::SetRegistryBase, respectivamente.

Se a chave especificada por lspzEntry não existir, o método a criará.

Confira também

Gráfico da hierarquia
Classes
Classe CWinApp
Classe CMouseManager
Classe CContextMenuManager
Classe CKeyboardManager
Classe CUserToolsManager