CMouseManager (clase)

Permite a un usuario asociar diferentes comandos a un determinado objeto CView cuando el usuario hace doble clic en el interior de esa vista.

Sintaxis

class CMouseManager : public CObject

Miembros

Métodos públicos

Nombre Descripción
CMouseManager::AddView Agrega un objeto CView al cuadro de diálogo Personalización. El cuadro de diálogo Personalización permite al usuario asociar un doble clic con un comando de cada una de las vistas enumeradas.
CMouseManager::GetViewDblClickCommand Devuelve el comando que se ejecuta cuando el usuario hace doble clic dentro de la vista proporcionada.
CMouseManager::GetViewIconId Devuelve el icono asociado al identificador de vista proporcionado.
CMouseManager::GetViewIdByName Devuelve el identificador asociado al nombre de vista proporcionado.
CMouseManager::GetViewNames Recupera una lista de todos los nombres de vista agregados.
CMouseManager::LoadState Carga el estado CMouseManager del Registro de Windows.
CMouseManager::SaveState Escribe el estado CMouseManager en el Registro de Windows.
CMouseManager::SetCommandForDblClk Asocia el comando y la vista proporcionados.

Comentarios

La clase CMouseManager mantiene una colección de objetos CView. Cada vista se identifica mediante un nombre y un identificador. Estas vistas se muestran en el cuadro de diálogo Personalización. El usuario puede cambiar el comando asociado a cualquier vista por medio del cuadro de diálogo Personalización. El comando asociado se ejecuta cuando el usuario hace doble clic en esa vista. Para permitir esto desde el punto de vista de la codificación, debe procesar el mensaje WM_LBUTTONDBLCLK y llamar a la función CWinAppEx::OnViewDoubleClick en el código de ese objeto CView.

No debe crear un objeto CMouseManager manualmente. Se crea mediante el marco de la aplicación. También se destruye automáticamente cuando el usuario sale de la aplicación. Para obtener un puntero al administrador del mouse de la aplicación, llame a CWinAppEx::GetMouseManager.

Jerarquía de herencia

CObject

CMouseManager

Requisitos

Encabezado: afxmousemanager.h

CMouseManager::AddView

Registra un objeto CView en la clase CMouseManager para permitir el comportamiento personalizado del mouse.

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

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

Parámetros

iViewId
[in] Identificador de vista.

uiViewNameResId
[in] Identificador de cadena de recurso que hace referencia al nombre de la vista.

uiIconId
[in] Identificador de icono de vista.

iId
[in] Identificador de vista.

lpszViewName
[in] Nombre de vista.

Valor devuelto

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

Comentarios

Para permitir el comportamiento personalizado del mouse, se debe registrar una vista en el objeto CMouseManager. Cualquier objeto derivado de la clase CView se puede registrar en el administrador del mouse. La cadena y el icono asociados a una vista se muestran en la pestaña Mouse del cuadro de diálogo Personalizar.

Es responsabilidad del programador crear y mantener identificadores de vista como iViewId e iId.

Para obtener más información sobre el comportamiento personalizado del mouse, vea Personalización del teclado y del mouse.

Ejemplo

En el ejemplo siguiente se muestra cómo recuperar un puntero a un objeto CMouseManager mediante el método CWinAppEx::GetMouseManager y el método AddView de la clase CMouseManager. Este fragmento de código forma parte del ejemplo de recopilación de estados.

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

CMouseManager::GetViewDblClickCommand

Devuelve el comando que se ejecuta cuando el usuario hace doble clic dentro de la vista proporcionada.

UINT GetViewDblClickCommand(int iId) const;

Parámetros

iId
[in] Identificador de vista.

Valor devuelto

Identificador de comando si la vista está asociada a un comando; de lo contrario, 0.

CMouseManager::GetViewIconId

Recupera el icono asociado a un identificador de vista.

UINT GetViewIconId(int iViewId) const;

Parámetros

iViewId
[in] Identificador de vista.

Valor devuelto

Un identificador de recurso de icono si se ejecuta correctamente; de lo contrario, 0.

Comentarios

Este método genera un error si la vista no se ha registrado primero mediante CMouseManager::AddView.

CMouseManager::GetViewIdByName

Recupera el identificador de vista asociado a un nombre de vista.

int GetViewIdByName(LPCTSTR lpszName) const;

Parámetros

lpszName
[in] Nombre de vista.

Valor devuelto

Identificador de vista si se ejecuta correctamente; en caso contrario, 0.

Comentarios

Este método busca en las vistas registradas mediante CMouseManager::AddView.

CMouseManager::GetViewNames

Recupera una lista de todos los nombres de vista registrados.

void GetViewNames(CStringList& listOfNames) const;

Parámetros

listOfNames
[out] Referencia a un objeto CStringList.

Comentarios

Este método rellena el parámetro listOfNames con los nombres de todas las vistas registradas mediante CMouseManager::AddView.

CMouseManager::LoadState

Carga el estado de CMouseManager (clase ) del registro.

BOOL LoadState(LPCTSTR lpszProfileName = NULL);

Parámetros

lpszProfileName
[in] Ruta de acceso de una clave del Registro.

Valor devuelto

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

Comentarios

La información de estado cargada desde el registro incluye las vistas registradas, los identificadores de vista y los comandos asociados. Si el parámetro lpszProfileName es NULL, esta función carga los datos de CMouseManager de la ubicación predeterminada del registro controlada por CWinAppEx (clase ).

En la mayoría de los casos no es necesario llamar a esta función directamente. Se llama como parte del proceso de inicialización del área de trabajo. Para obtener más información sobre el proceso de inicialización del área de trabajo, vea CWinAppEx::LoadState.

CMouseManager::SaveState

Escribe el estado de CMouseManager (clase ) en el registro.

BOOL SaveState(LPCTSTR lpszProfileName = NULL);

Parámetros

lpszProfileName
[in] Ruta de acceso de una clave del Registro.

Valor devuelto

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

Comentarios

La información de estado escrita en el registro incluye todas las vistas registradas, los identificadores de vista y los comandos asociados. Si el parámetro lpszProfileName es NULL, esta función escribe los datos de CMouseManager en la ubicación predeterminada del registro controlada por CWinAppEx (clase ).

En la mayoría de los casos no es necesario llamar a esta función directamente. Se llama como parte del proceso de serialización del área de trabajo. Para obtener más información sobre el proceso de serialización del área de trabajo, vea CWinAppEx::SaveState.

CMouseManager::SetCommandForDblClk

Asocia un comando personalizado a una vista que primero se ha registrado en el administrador del mouse.

void SetCommandForDblClk(
    int iViewId,
    UINT uiCmd);

Parámetros

iViewId
[in] Identificador de vista.

uiCmd
[in] Identificador del comando.

Comentarios

Para asociar un comando personalizado a una vista, primero debe registrar la vista mediante CMouseManager::AddView. El método AddView requiere un identificador de vista como parámetro de entrada. Una vez registrada una vista, puede llamar a CMouseManager::SetCommandForDblClk con el mismo parámetro de entrada de identificador de vista que ha proporcionado a AddView. A partir de entonces, cuando el usuario hace doble clic con el mouse en la vista registrada, la aplicación ejecuta el comando indicado por uiCmd. Para permitir el comportamiento personalizado del mouse, también debe personalizar la vista registrada en el administrador del mouse. Para obtener más información sobre el comportamiento personalizado del mouse, consulte Personalización del teclado y del mouse.

Si uiCmd se establece en 0, la vista especificada ya no está asociada a un comando.

Consulte también

Gráfico de jerarquías
Clases
CWinAppEx (clase)
Personalización del teclado y del mouse