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