Editor de menús (C++)

Los menús le permiten organizar comandos de una forma lógica y sencilla de encontrar. Con el Editor de menús, puede crear y editar menús directamente con una barra de menús que se parezca a la que se usa en su aplicación finalizada.

Sugerencia

Cuando se trabaja con el Editor de menús, es posible en muchos casos hacer clic con el botón derecho para abrir un menú emergente de comandos de uso frecuente. Los comandos disponibles dependen del objeto al que apunta el puntero.

Procedimientos

El Editor de menús le permite:

Para crear un menú estándar

  1. Vaya al menú Ver>Vista de recursos o Ver>Otras ventanas>Vista de recursos y haga clic con el botón derecho en el encabezado Menú. Seleccione Agregar recurso y, luego, Menú.

  2. Seleccione el cuadro Nuevo elemento (el rectángulo que contiene Escriba aquí) en la barra de menús.

    New Item box in the menu editor.
    Cuadro Nuevo elemento

  3. Escriba un nombre para el nuevo menú, por ejemplo, Archivo.

    El texto que escriba aparecerá en el Editor de menús y en el cuadro Leyenda de la ventana Propiedades. Puede editar las propiedades del nuevo menú en uno u otro componente.

    Tras asignar un nombre al nuevo menú en la barra de menús, el cuadro de nuevo elemento se desplaza hacia la derecha (para permitir agregar otro menú). Después, se abre otro cuadro de nuevo elemento debajo del primer menú, donde pueden agregarse otros comandos de menú.

    Expanded New Item box.
    Cuadro Nuevo elemento con el foco desplazado al escribir el nombre del nuevo menú

    Nota:

    Para crear un menú de un solo elemento en la barra de menús, establezca la propiedad Popup en False.

Para crear un submenú

  1. Seleccione el comando de menú para el que quiere crear un submenú.

  2. En el cuadro Nuevo elemento que aparece a la derecha, escriba el nombre del nuevo comando de menú. Este nuevo comando aparecerá primero en el menú del submenú.

  3. Agregue más comandos de menú al menú del submenú.

Para insertar un nuevo menú entre los menús existentes

Seleccione un nombre de menú existente y presione la tecla Insertar, o bien haga clic con el botón derecho en la barra de menús y elija Insertar nuevo.

El cuadro Nuevo elemento se inserta antes del elemento seleccionado.

Para agregar comandos a un menú

  1. Cree un menú. Después, seleccione un nombre de menú, por ejemplo, Archivo.

    Cada menú se expandirá y expondrá un nuevo cuadro de elemento para los comandos. Por ejemplo, en un menú Archivo puede agregar los comandos Nuevo, Abrir y Cerrar.

  2. En el nuevo cuadro de elemento, escriba un nombre para el nuevo comando de menú.

    Nota:

    El texto que escriba aparecerá en el Editor de menús y en el cuadro Leyenda de la ventana Propiedades. Puede editar las propiedades del nuevo menú en uno u otro componente.

    Sugerencia

    Puede definir una tecla nemotécnica (tecla de acceso rápido) que permita al usuario seleccionar el comando de menú. Escriba una Y comercial (&) delante de una letra para especificarla como tecla de acceso. El usuario puede seleccionar el comando de menú escribiendo esa letra.

  3. En la ventana Propiedades, seleccione las propiedades de comando de menú que sean aplicables. Para obtener más información, consulte Propiedades de los comandos de menú.

  4. En el cuadro Aviso de la ventana Propiedades, escriba la cadena del aviso que quiere que aparezca en la barra de estado de la aplicación.

    Este paso crea una entrada en la tabla de cadenas con el mismo identificador de recursos que el comando de menú que creó.

    Nota:

    Los avisos solo afectan a los elementos de menú para los que el valor de la propiedad Popup se haya establecido en True. Por ejemplo, los elementos de menú de nivel superior pueden tener avisos si tienen elementos de submenú. El propósito de un aviso es indicar lo que sucederá si un usuario selecciona el elemento de menú.

  5. Presione ENTRAR para completar el comando de menú.

    El cuadro de elemento nuevo se selecciona para que pueda crear más comandos de menú.

Para seleccionar varios comandos de menús para ejecutar operaciones masivas, como eliminar o cambiar propiedades

Mientras mantiene presionada la tecla CTRL, seleccione los menús o comandos de submenú que quiera.

Para mover y copiar menús y comandos de menú

  • Use el método de arrastrar y colocar:

    1. Arrastre o copie el elemento que desee mover a:

      • Una nueva ubicación en el menú actual.

      • Otro menú. Puede navegar a otros menús si arrastra el puntero del mouse sobre ellos.

    2. Arrastre el comando de menú cuando la guía de inserción muestre la posición que desee.

  • Use comandos del menú contextual:

    1. Haga clic con el botón derecho en uno o varios menús o comandos de menú y, luego, elija Cortar (para mover) o Copiar.

    2. Si va a mover los elementos a otro recurso de menú o archivo de script de recursos, ábralo en otra ventana.

    3. Seleccione la posición del menú o comando de menú al que desee mover o copiar.

    4. En el menú contextual, elija Pegar. El elemento movido o copiado se coloca antes del elemento que seleccione.

Nota:

También puede arrastrar, copiar y pegar en otros menús de otras ventanas de menú.

Para eliminar un menú o un comando de menú

Haga clic con el botón derecho en el nombre del menú o el comando y elija Eliminar.

Nota:

De forma similar, puede utilizar el menú contextual para realizar otras acciones, como Copiar, Cortar, Pegar, Insertar nuevo, Insertar separador, Editar IDs, Ver como emergente, Comprobar teclas de acceso, etc.

Menús emergentes

Losmenús emergentes muestran comandos de pantalla que se utilizan con frecuencia. Pueden ser contextuales con respecto a la ubicación del puntero. Utilizar menús emergentes en la aplicación requiere compilar el menú y, a continuación, conectarlo al código de la aplicación.

Una vez creado el recurso de menú, el código de la aplicación debe cargar el recurso y usar TrackPopupMenu para que aparezca el menú. Cuando el usuario descarte el menú emergente al seleccionar fuera de él o seleccionar un comando, se devolverá esa función. Si el usuario elige un comando, se enviará el mensaje de ese comando a la ventana cuyo controlador se ha pasado.

Nota:

Para programas ATL y de la biblioteca de Microsoft Foundation Class (MFC), use los asistentes para código para enlazar comandos de menú al código. Para obtener más información, consulte Adición de un evento y Asignación de mensajes a funciones.

  • Para crear un menú emergente, cree un menú con un título vacío y no proporcione una leyenda. Después, agregue un comando de menú al menú nuevo. Vaya al primer comando de menú debajo del título del menú en blanco (tiene la leyenda temporal Escriba aquí) y escriba una leyenda y cualquier otra información.

    Repita este proceso para cualquier otro comando de menú que haya en el menú emergente y asegúrese de guardar el recurso de menú.

  • Para conectar un menú emergente a la aplicación, por ejemplo, agregue un controlador de mensajes para WM_CONTEXTMENU y, luego, agregue el código siguiente al controlador de mensajes:

    CMenu menu;
    VERIFY(menu.LoadMenu(IDR_MENU1));
    CMenu* pPopup = menu.GetSubMenu(0);
    ASSERT(pPopup != NULL);
    pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
    

    Nota:

    El controlador de mensajes pasa CPoint, que aparece en las coordenadas de pantalla.

Normalmente, cuando se trabaja en el Editor de menús, se muestra un recurso de menú como barra de menús. Sin embargo, es posible que algunos recursos de menú se agreguen a la barra de menús de la aplicación mientras se ejecuta el programa.

  • Para ver un recurso de menú como menú emergente, haga clic con el botón derecho en el menú y elija Ver como emergente.

    Esta opción es simplemente una preferencia de visualización y no modificará el menú.

Sugerencia

Para regresar a la vista de la barra de menús, vuelva a seleccionar Ver como emergente. Con esta acción, se quita la marca de verificación y se restaura la vista de la barra de menús.

Requisitos

Win32

Consulte también

Resource Editors
Comandos de menú
Objetos de interfaz de usuario e identificadores de comando
Menús
Menús