Clase CHotKeyCtrl
Proporciona la funcionalidad del control común de tecla de acceso rápido de Windows.
Sintaxis
class CHotKeyCtrl : public CWnd
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CHotKeyCtrl::CHotKeyCtrl | Construye un objeto CHotKeyCtrl . |
Métodos públicos
Nombre | Descripción |
---|---|
CHotKeyCtrl::Create | Crea un control de tecla de acceso rápido y lo asocia a un objeto CHotKeyCtrl . |
CHotKeyCtrl::CreateEx | Crea un control de tecla de acceso rápido con los estilos extendidos de Windows especificados y lo asocia a un objeto CHotKeyCtrl . |
CHotKeyCtrl::GetHotKey | Recupera el código de tecla virtual y las marcas de tecla modificadora de una tecla de acceso rápido de un control de tecla de acceso rápido. |
CHotKeyCtrl::GetHotKeyName | Recupera el nombre de tecla, en el juego de caracteres local, asignado a una tecla de acceso rápido. |
CHotKeyCtrl::GetKeyName | Recupera el nombre de tecla, en el juego de caracteres local, asignado al código de tecla virtual especificado. |
CHotKeyCtrl::SetHotKey | Establece la combinación de teclas de acceso directo de un control de tecla de acceso directo. |
CHotKeyCtrl::SetRules | Define las combinaciones no válidas y la combinación de modificadores predeterminada de un control de tecla de acceso directo. |
Comentarios
Un "control de teclas de acceso directo" es una ventana que permite al usuario crear una tecla de acceso directo. Una "tecla de acceso directo" es una combinación de teclas que el usuario puede presionar para realizar una acción rápidamente. (Por ejemplo, un usuario puede crear una tecla de acceso directo que active una ventana determinada y la lleve al inicio del orden Z). El control de tecla de acceso directo muestra las opciones del usuario y garantiza que el usuario va a seleccionar una combinación de teclas válida.
Este control (y, por tanto, la clase CHotKeyCtrl
) solo está disponible para los programas que se ejecutan en Windows 95/98 y Windows NT 3.51 y posteriores.
Cuando el usuario ha elegido una combinación de teclas, la aplicación puede recuperar la combinación de teclas especificada del control y usar el mensaje WM_SETHOTKEY para configurar la tecla de acceso directo en el sistema. Cada vez que el usuario presione la tecla de acceso directo en adelante, desde cualquier parte del sistema, la ventana especificada en el mensaje WM_SETHOTKEY recibe un mensaje WM_SYSCOMMAND que especifica SC_HOTKEY. Este mensaje activa la ventana que lo recibe. La tecla de acceso rápido sigue siendo válida hasta que se cierre la aplicación que llamó a WM_SETHOTKEY.
Este mecanismo es diferente de la compatibilidad de las teclas de acceso rápido, que depende del mensaje WM_HOTKEY y de las funciones RegisterHotKey y UnregisterHotKey de Windows.
Para obtener más información sobre cómo usar la clase CHotKeyCtrl
, vea Controles y Uso de CHotKeyCtrl.
Jerarquía de herencia
CHotKeyCtrl
Requisitos
Encabezado: afxcmn.h
CHotKeyCtrl::CHotKeyCtrl
Construye un objeto CHotKeyCtrl
.
CHotKeyCtrl();
CHotKeyCtrl::Create
Crea un control de tecla de acceso rápido y lo asocia a un objeto CHotKeyCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
Especifica el estilo del control de tecla de acceso rápido. Aplique cualquier combinación de estilos de control. Para obtener más información, vea Estilos de control comunes en Windows SDK.
rect
Especifica el tamaño y la posición del control de tecla de acceso rápido. Puede ser un objeto CRect o una estructura RECT.
pParentWnd
Especifica la ventana primaria del control de tecla de acceso rápido, que suele ser CDialog. No debe ser NULL.
Nid
Especifica el identificador del control de tecla de acceso rápido.
Valor devuelto
Distinto de cero si la inicialización se realiza correctamente; de lo contrario, 0.
Comentarios
El objeto CHotKeyCtrl
se construye en dos pasos. En primer lugar, llame al constructor y, luego, a Create
, lo que crea el control de tecla de acceso rápido y lo asocia al objeto CHotKeyCtrl
.
Si quiere usar estilos extendidos de Windows con el control, llame a CreateEx en lugar de a Create
.
CHotKeyCtrl::CreateEx
Llame a esta función para crear un control (una ventana secundaria) y asociarlo al objeto CHotKeyCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwExStyle
El valor de este parámetro se usa para especificar el estilo extendido del control que se va a crear. Para ver una lista de estilos extendidos de Windows, consulte el parámetro dwExStyle para CreateWindowEx en Windows SDK.
dwStyle
Especifica el estilo del control de tecla de acceso rápido. Aplique cualquier combinación de estilos de control. Para obtener más información, vea Estilos de control comunes en Windows SDK.
rect
Referencia a una estructura RECT que describe el tamaño y la posición de la ventana que se va a crear, en coordenadas de cliente de pParentWnd.
pParentWnd
Un puntero a la ventana que constituye el elemento primario del control.
Nid
El identificador de ventana secundaria del control.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Use CreateEx
en lugar de Create para aplicar estilos extendidos de Windows, especificados por el prefacio de estilo extendido de Windows WS_EX_.
CHotKeyCtrl::GetHotKey
Recupera el código de tecla virtual y las marcas de tecla modificadora de un método abreviado de teclado de un control de tecla de acceso rápido.
DWORD GetHotKey() const;
void GetHotKey(
WORD& wVirtualKeyCode,
WORD& wModifiers) const;
Parámetros
wVirtualKeyCode
[out] Código de tecla virtual del método abreviado de teclado. (Para obtener una lista de códigos de teclas virtuales estándar, vea Winuser.h).
wModifiers
[out] Combinación bit a bit (OR) de marcas que indican las teclas modificadoras en el método abreviado de teclado.
Las marcas de tecla modificadora son las siguientes:
Marca | Tecla correspondiente |
---|---|
HOTKEYF_ALT | tecla ALT |
HOTKEYF_CONTROL | Tecla CTRL |
HOTKEYF_EXT | Tecla extendida |
HOTKEYF_SHIFT | Tecla Mayús |
Valor devuelto
En el primer método sobrecargado, un valor DWORD que contiene el código de tecla virtual y las marcas de tecla modificadora. El byte de orden inferior de la palabra de orden inferior contiene el código de tecla virtual; el byte de orden superior de la palabra de orden inferior contiene las marcas de tecla modificadora, y la palabra de orden superior es cero.
Comentarios
El código de tecla virtual y las teclas modificadoras definen en conjunto el método abreviado de teclado.
CHotKeyCtrl::GetHotKeyName
Llame a esta función miembro para obtener el nombre localizado de la tecla de acceso rápido.
CString GetHotKeyName() const;
Valor devuelto
Nombre localizado de la tecla de acceso rápido seleccionada actualmente. Si no hay ninguna tecla de acceso rápido seleccionada, GetHotKeyName
devuelve una cadena vacía.
Comentarios
El nombre que devuelve esta función miembro procede del controlador de teclado. Se puede instalar un controlador de teclado sin localizar en una versión localizada de Windows y viceversa.
CHotKeyCtrl::GetKeyName
Llame a esta función miembro para obtener el nombre localizado de la tecla asignada a un código de tecla virtual especificado.
static CString GetKeyName(
UINT vk,
BOOL fExtended);
Parámetros
vk
Código de tecla virtual.
fExtended
Si el código de tecla virtual es una tecla extendida, TRUE; en caso contrario, FALSE.
Valor devuelto
Nombre localizado de la tecla especificada por el parámetro vk. Si la tecla no tiene ningún nombre asignado, GetKeyName
devuelve una cadena vacía.
Comentarios
El nombre de tecla que devuelve esta función procede del controlador de teclado. Se puede instalar un controlador de teclado sin localizar en una versión localizada de Windows y viceversa.
Ejemplo
CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.
CHotKeyCtrl::SetHotKey
Establece el método abreviado de teclado de un control de tecla de acceso directo.
void SetHotKey(
WORD wVirtualKeyCode,
WORD wModifiers);
Parámetros
wVirtualKeyCode
[in] Código de tecla virtual del método abreviado de teclado. (Para obtener una lista de códigos de teclas virtuales estándar, vea Winuser.h).
wModifiers
[in] Combinación bit a bit (OR) de marcas que indican las teclas modificadoras en el método abreviado de teclado.
Las marcas de tecla modificadora son las siguientes:
Marca | Tecla correspondiente |
---|---|
HOTKEYF_ALT | tecla ALT |
HOTKEYF_CONTROL | Tecla CTRL |
HOTKEYF_EXT | Tecla extendida |
HOTKEYF_SHIFT | Tecla Mayús |
Comentarios
El código de tecla virtual y las teclas modificadoras definen en conjunto el método abreviado de teclado.
CHotKeyCtrl::SetRules
Llame a esta función para definir las combinaciones no válidas y la combinación de modificadores predeterminada de un control de tecla de acceso directo.
void SetRules(
WORD wInvalidComb,
WORD wModifiers);
Parámetros
wInvalidComb
Matriz de marcas que especifica combinaciones de teclas no válidas. Puede ser una combinación de los valores siguientes:
HKCOMB_A ALT
HKCOMB_C CTRL
HKCOMB_CA CTRL+ALT
HKCOMB_NONE (teclas sin modificar)
HKCOMB_S SHIFT
HKCOMB_SA SHIFT+ALT
HKCOMB_SC SHIFT+CTRL
HKCOMB_SCA SHIFT+CTRL+ALT
wModifiers
Matriz de marcas que especifica la combinación de teclas que se va a usar cuando el usuario escribe una combinación no válida. Para obtener más información sobre las marcas de tecla modificadora, vea GetHotKey.
Comentarios
Cuando un usuario escribe una combinación de teclas no válida, tal y como se define en las marcas especificadas en wInvalidComb, el sistema usa el operador OR para combinar las teclas especificadas por el usuario con las marcas especificadas en wModifiers. La combinación de teclas resultante se convierte en una cadena y, a continuación, se muestra en el control de tecla de acceso directo.