Classe CMouseManager

Permite que um usuário associe comandos diferentes a um objeto CView específico quando o usuário clica duas vezes nessa exibição.

Sintaxe

class CMouseManager : public CObject

Membros

Métodos públicos

Nome Descrição
CMouseManager::AddView Adiciona um objeto CView à caixa de diálogo Personalização. A caixa de diálogo Personalização permite que o usuário associe uma ação de clicar duas vezes a um comando para cada uma das exibições listadas.
CMouseManager::GetViewDblClickCommand Retorna o comando executado quando o usuário clica duas vezes dentro do modo de exibição fornecido.
CMouseManager::GetViewIconId Retorna o ícone associado à ID de exibição fornecida.
CMouseManager::GetViewIdByName Retorna a ID de exibição associada ao nome de exibição fornecido.
CMouseManager::GetViewNames Recupera uma lista de todos os nomes de exibição adicionados.
CMouseManager::LoadState Carrega o estado CMouseManager do Registro do Windows.
CMouseManager::SaveState Grava o estado CMouseManager no Registro do Windows.
CMouseManager::SetCommandForDblClk Associa o comando fornecido e a exibição fornecida.

Comentários

A classe CMouseManager mantém uma coleção de objetos CView. Cada exibição é identificada por um nome e por uma ID. Esses modos de exibição são mostrados na caixa de diálogo Personalização. O usuário pode alterar o comando associado a qualquer exibição por meio da caixa de diálogo Personalização. O comando associado é executado quando o usuário clica duas vezes nessa exibição. Para dar suporte a isso de uma perspectiva de codificação, você deve processar a mensagem WM_LBUTTONDBLCLK e chamar a função CWinAppEx::OnViewDoubleClick no código desse objeto CView.

Você não deve criar um objeto CMouseManager manualmente. Ele será criado pela estrutura do aplicativo. Ele também será destruído automaticamente quando o usuário sair do aplicativo. Para obter um ponteiro para o gerenciador do mouse para seu aplicativo, chame CWinAppEx::GetMouseManager.

Hierarquia de herança

CObject

CMouseManager

Requisitos

Cabeçalho: afxmousemanager.h

CMouseManager::AddView

Registra um objeto CView com a Classe CMouseManager para dar suporte ao comportamento personalizado do mouse.

BOOL AddView(
    int iViewId,
    UINT uiViewNameResId,
    UINT uiIconId = 0);

BOOL AddView(
    int iId,
    LPCTSTR lpszViewName,
    UINT uiIconId = 0);

Parâmetros

iViewId
[in] Uma ID de exibição.

uiViewNameResId
[in] Uma ID de cadeia de caracteres de recurso que faz referência ao nome da exibição.

uiIconId
[in] Uma ID do ícone de exibição.

iId
[in] Uma ID de exibição.

lpszViewName
[in] Um nome de exibição.

Valor de Devolução

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

Comentários

Para dar suporte ao comportamento personalizado do mouse, uma exibição deve ser registrada com o objeto CMouseManager. Qualquer objeto derivado da classe CView pode ser registrado no gerenciador do mouse. A cadeia de caracteres e o ícone associados a uma exibição são exibidos na guia Mouse da caixa de diálogo Personalizar.

É responsabilidade do programador criar e manter IDs de exibição, como iViewId e iId.

Para obter mais informações sobre como fornecer comportamento personalizado do mouse, confira Personalização de Teclado e Mouse.

Exemplo

O exemplo a seguir demonstra como recuperar um ponteiro para um objeto CMouseManager usando o método CWinAppEx::GetMouseManager e o método AddView na classe CMouseManager. Esse snippet de código faz parte do exemplo de Coleção de Estado.

GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);

CMouseManager::GetViewDblClickCommand

Retorna o comando executado quando o usuário clica duas vezes dentro do modo de exibição fornecido.

UINT GetViewDblClickCommand(int iId) const;

Parâmetros

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

Valor de Devolução

O identificador de comando se a exibição estiver associada a um comando; caso contrário, 0.

CMouseManager::GetViewIconId

Recupera o ícone associado a uma ID de exibição.

UINT GetViewIconId(int iViewId) const;

Parâmetros

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

Valor de Devolução

Um identificador de recurso de ícone se tiver êxito; caso contrário, 0.

Comentários

Esse método falhará se a exibição não for registrada pela primeira vez usando CMouseManager::AddView.

CMouseManager::GetViewIdByName

Recupera a ID de exibição associada a um nome de exibição.

int GetViewIdByName(LPCTSTR lpszName) const;

Parâmetros

lpszName
[in] O nome da exibição.

Valor de Devolução

Uma ID de exibição se tiver êxito; caso contrário, 0.

Comentários

Esse método pesquisa em exibições registradas usando CMouseManager::AddView.

CMouseManager::GetViewNames

Recupera uma lista de todos os nomes de exibição registrados.

void GetViewNames(CStringList& listOfNames) const;

Parâmetros

listOfNames
[out] Uma referência ao objeto CStringList.

Comentários

Esse método preenche o parâmetro listOfNames com os nomes de todos os modos de exibição registrados usando CMouseManager::AddView.

CMouseManager::LoadState

Carrega o estado da Classe CMouseManager do Registro.

BOOL LoadState(LPCTSTR lpszProfileName = NULL);

Parâmetros

lpszProfileName
[in] Um caminho de uma chave do Registro.

Valor de Devolução

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

Comentários

As informações de estado carregadas do Registro incluem as exibições registradas, os identificadores de exibição e os comandos associados. Se o parâmetro lpszProfileName for NULL, essa função carregará os dados CMouseManager do local padrão do Registro controlado pela Classe CWinAppEx.

Na maioria dos casos, você não precisa chamar essa função diretamente. Ele é chamado como parte do processo de inicialização do workspace. Para mais informações sobre o processo de inicialização do workspace, confira CWinAppEx::LoadState.

CMouseManager::SaveState

Grava o estado da Classe CMouseManager no Registro.

BOOL SaveState(LPCTSTR lpszProfileName = NULL);

Parâmetros

lpszProfileName
[in] Um caminho de uma chave do Registro.

Valor de Devolução

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

Comentários

As informações de estado gravadas no Registro incluem todas as exibições registradas, identificadores de exibição e os comandos associados. Se o parâmetro lpszProfileName for NULL, essa função gravará os dados CMouseManager no local de Registro padrão controlado pela Classe CWinAppEx.

Na maioria dos casos, você não precisa chamar essa função diretamente. Ele é chamado como parte do processo de serialização do workspace. Para mais informações sobre o processo de serialização do workspace, confira CWinAppEx::SaveState.

CMouseManager::SetCommandForDblClk

Associa um comando personalizado a um modo de exibição registrado pela primeira vez com o gerenciador do mouse.

void SetCommandForDblClk(
    int iViewId,
    UINT uiCmd);

Parâmetros

iViewId
[in] O identificador de modo de exibição.

uiCmd
[in] O identificador do comando.

Comentários

Para associar um comando personalizado a um modo de exibição, primeiro registre a exibição usando CMouseManager::AddView. O método AddView requer um identificador de exibição como um parâmetro de entrada. Depois de registrar um modo de exibição, você pode chamar CMouseManager::SetCommandForDblClk com o mesmo parâmetro de entrada do identificador de exibição que você forneceu a AddView. Depois disso, quando o usuário clicar duas vezes no mouse no modo de exibição registrado, o aplicativo executará o comando indicado pelo uiCmd. Para dar suporte ao comportamento personalizado do mouse, você também precisará personalizar o modo de exibição registrado com o gerenciador do mouse. Para obter mais informações sobre o comportamento personalizado do mouse, consulte Personalização de teclado e mouse.

Se uiCmd for definido como 0, o modo de exibição especificado não estará mais associado a um comando.

Confira também

Gráfico da hierarquia
Classes
Classe CWinAppEx
Personalização de teclado e mouse