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
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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