Clase CMFCKeyMapDialog
La clase CMFCKeyMapDialog
admite un control que asigna comandos a teclas del teclado.
Sintaxis
class CMFCKeyMapDialog : public CDialogEx
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CMFCKeyMapDialog::CMFCKeyMapDialog | Construye un objeto CMFCKeyMapDialog . |
Métodos públicos
Nombre | Descripción |
---|---|
CMFCKeyMapDialog::DoModal | Muestra un cuadro de diálogo de asignación de teclado. |
Métodos protegidos
Nombre | Descripción |
---|---|
CMFCKeyMapDialog::FormatItem | Lo llama el marco para crear una cadena que describe una asignación de teclas. De forma predeterminada, la cadena contiene el nombre del comando, las teclas de método abreviado usadas y la descripción de la tecla de método abreviado. |
CMFCKeyMapDialog::GetCommandKeys | Recupera una cadena que contiene una lista de teclas de método abreviado asociadas al comando especificado. |
CMFCKeyMapDialog::OnInsertItem | Lo llama el marco antes de insertar un nuevo elemento en el control de lista interna que admite el control de asignación de teclado. |
CMFCKeyMapDialog::OnPrintHeader | Lo llama el marco para imprimir el encabezado del mapa de teclado en una página nueva. |
CMFCKeyMapDialog::OnPrintItem | Lo llama el marco para imprimir un elemento de asignación de teclado. |
CMFCKeyMapDialog::OnSetColumns | Lo llama el marco para establecer descripciones para las columnas del control de lista interna que admite el control de asignación de teclado. |
CMFCKeyMapDialog::PrintKeyMap | Lo llama el marco cuando el usuario hace clic en el botón Imprimir. |
CMFCKeyMapDialog::SetColumnsWidth | Lo llama el marco para establecer el ancho de las columnas en el control de lista interna que admite el control de asignación de teclado. |
Comentarios
Use la clase CMFCKeyMapDialog
para implementar un cuadro de diálogo de asignación de teclado redimensionable. El cuadro de diálogo usa un control de vista de lista para mostrar los métodos abreviados de teclado y sus comandos asociados.
Para usar la clase CMFCKeyMapDialog
en una aplicación, pase un puntero a la ventana de marco principal como parámetro al constructor CMFCKeyMapDialog
. A continuación, llame al método DoModal
para iniciar un cuadro de diálogo modal.
Jerarquía de herencia
Requisitos
Encabezado: afxkeymapdialog.h
CMFCKeyMapDialog::CMFCKeyMapDialog
Construye un objeto CMFCKeyMapDialog
.
CMFCKeyMapDialog(
CFrameWnd* pWndParentFrame,
BOOL bEnablePrint=FALSE);
Parámetros
pWndParentFrame
[Entrada] El valor de este parámetro se corresponde con un puntero que apunta a la ventana primaria del objeto CMFCKeyMapDialog
.
bEnablePrint
[Entrada] TRUE si se puede imprimir la lista de teclas de aceleración; de lo contrario, FALSE. El valor predeterminado es FALSE.
Comentarios
Ejemplo
En el ejemplo siguiente se muestra cómo construir un objeto de la clase CMFCKeyMapDialog
. Este ejemplo forma parte del ejemplo de demostración de Visual Studio.
// this points to a CMainFrame class which extends the
// CMDIFrameWndEx class
CMFCKeyMapDialog dlg(this, TRUE /* Enable Print */);
CMFCKeyMapDialog::DoModal
Muestra un cuadro de diálogo de asignación de teclado.
virtual INT_PTR DoModal();
Valor devuelto
Entero con signo, como IDOK o IDCANCEL, que se pasa al método CDialog::EndDialog. A su vez, el método cierra el cuadro de diálogo. Para más información, consulte CDialog::DoModal.
Comentarios
El cuadro de diálogo de asignación de teclado permite seleccionar y asignar teclas de aceleración a varias categorías de comandos. Además, puede copiar las teclas de aceleración seleccionadas y su descripción en el portapapeles.
CMFCKeyMapDialog::FormatItem
Lo llama el marco para crear una cadena que describe una asignación de teclas. De forma predeterminada, la cadena contiene el nombre del comando, las teclas de método abreviado usadas y la descripción de la tecla de método abreviado.
virtual CString FormatItem(int nItem) const;
Parámetros
nItem
[Entrada] Índice de base cero de un elemento de la lista interna de asignaciones de teclas.
Valor devuelto
Objeto CString
que contiene el texto del elemento con formato.
Comentarios
CMFCKeyMapDialog::GetCommandKeys
Recupera un valor de cadena. La cadena contiene una lista de teclas de método abreviado asociadas a un comando especificado.
virtual CString GetCommandKeys(UINT uiCmdID) const;
Parámetros
uiCmdID
[in] Identificador de comando.
Valor devuelto
Lista delimitada por (';') punto y coma de teclas de método abreviado asociadas al comando especificado.
Comentarios
CMFCKeyMapDialog::OnInsertItem
Lo llama el marco antes de insertar un nuevo elemento en un control de lista interna que admite el control de asignación de teclado.
virtual void OnInsertItem(
CMFCToolBarButton* pButton,
int nItem);
Parámetros
pButton
[Entrada] Puntero que apunta a un botón de la barra de herramientas que se usa para asignar una combinación de teclas de teclado a un nombre de comando y una descripción. El elemento de asignación de teclas se almacena en un control de lista interna.
nItem
[Entrada] Índice de base cero que especifica dónde insertar el nuevo elemento de asignación de teclas en el control de lista interna.
Comentarios
CMFCKeyMapDialog::OnPrintHeader
Lo llama el marco para imprimir el encabezado del mapa de teclado en una página nueva.
virtual int OnPrintHeader(
CDC& dc,
int nPage,
int cx) const;
Parámetros
dc
[Entrada] Contexto del dispositivo de la impresora.
nPage
[Entrada] El número de página que se debe imprimir.
cx
[Entrada] Desplazamiento horizontal del encabezado, en píxeles.
Valor devuelto
Si se ejecuta correctamente, el alto del texto impreso. Para más información, consulte la sección Valor devuelto de CDC::DrawText.
Comentarios
El marco usa este método para imprimir el mapa de teclado. De forma predeterminada, este método imprime el número de página, el nombre de la aplicación y el título del cuadro de diálogo.
CMFCKeyMapDialog::OnPrintItem
Lo llama el marco para imprimir un elemento de asignación de teclado.
virtual int OnPrintItem(
CDC& dc,
int nItem,
int y,
int cx,
BOOL bCalcHeight) const;
Parámetros
dc
[Entrada] Contexto del dispositivo de la impresora.
nItem
[Entrada] Índice de base cero del elemento que se va a imprimir.
y
[Entrada] Desplazamiento vertical entre la parte superior de la página y la posición del elemento.
cx
[Entrada] Desplazamiento horizontal entre la izquierda de la página y la posición del elemento.
bCalcHeight
[Entrada] TRUE para calcular el alto adecuado para el elemento de impresión; FALSE para truncar el elemento de impresión para que se ajuste al espacio predeterminado.
Valor devuelto
El alto del elemento impreso.
Comentarios
El marco llama a este método para imprimir un elemento del cuadro de diálogo de asignación de teclas. De forma predeterminada, este método imprime el nombre de comando, las teclas de método abreviado y la descripción del comando del elemento.
CMFCKeyMapDialog::OnSetColumns
Lo llama el marco para establecer descripciones para las columnas del control de lista interna que admite el control de asignación de teclado.
virtual void OnSetColumns();
Comentarios
De forma predeterminada, este método obtiene los títulos de las columnas de tres recursos. El título de columna de comando procede de IDS_AFXBARRES_COMMAND, el título de columna de clave procede de IDS_AFXBARRES_KEYS y el título de columna de descripción procede de IDS_AFXBARRES_DESCRIPTION.
CMFCKeyMapDialog::PrintKeyMap
Lo llama el marco cuando el usuario hace clic en el botón Imprimir.
virtual void PrintKeyMap();
Comentarios
El método PrintKeyMap
imprime la asignación de teclas. Inicia un nuevo trabajo de impresión y, luego, llama repetidamente a los métodos CMFCKeyMapDialog::OnPrintHeader y CMFCKeyMapDialog::OnPrintItem hasta que se imprimen todas las asignaciones de teclas.
CMFCKeyMapDialog::SetColumnsWidth
Lo llama el marco para establecer el ancho de las columnas en el control de lista interna que admite el control de asignación de teclado.
virtual void SetColumnsWidth();
Comentarios
Este método establece las columnas del control de lista interna en anchos predeterminados. En primer lugar, se calcula el ancho de la columna de teclas de método abreviado. A continuación, se asigna un tercio del ancho restante a la columna de comandos y los dos tercios restantes se asignan a la columna de descripción.