AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Menús desplegables / WINDEV y WINDEV Mobile
  • Presentación
  • Consejos y trucos
  • Sustitución de la leyenda de una opción de menú por el contenido de control
  • Adición de ayuda a una opción de menú
  • Personalizar la apariencia del menú
  • Hacer el menú principal de una ventana Invisible
  • Ejecutar código antes de mostrar el menú contextual
  • Visualización de un menú contextual mediante un clic izquierdo
  • Disociar un menú contextual de una control o de una ventana
  • Recuperar el número de la Tabla fila y la columna en la que se realiza un clic derecho
  • Cambiar el menú contextual según el elemento seleccionado en una control TreeView
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Consejos y trucos

Sustitución de la leyenda de una opción de menú por el contenido de control

Para ello:
  • recuperar el contenido de control.
  • cambiar el texto de la opción de menú con la función Pie de foto Property o la función MenuLabel.
Ejemplos:
  • La leyenda de "MyOption" debe corresponder al valor escrito en "MyControl"..
    MyOption.Caption = MyControl
    // Equivalent to: MenuLabel(MyOption, MyControl)
  • El título de "MiOpción" debe corresponder al contenido de la celda perteneciente a "COL_MiColumna" y a la fila seleccionada por el usuario en la control Tabla denominada "TABLA_MiTabla":
    MyOption.Caption = COL_MyColumn[TableSelect(TABLE_MyTable)]
    // Equivalent to:
    // MenuLabel(MyOption, COL_MyColumn[TableSelect(TABLE_MyTable)])

Adición de ayuda a una opción de menú

Para explicar el modo de funcionamiento de cada opción del menú, se puede mostrar un mensaje de ayuda en la barra de estado de la ventana cuando se resalta una opción.
¿Cómo proceder?
Este mensaje de ayuda se escribe en la pestaña "Ayuda" de la ventana de opciones del menú description ("Opción description" en el menú contextual). Este mensaje de ayuda puede ser multilingüe.
Observación: Este mensaje de ayuda puede modificarse mediante la programación con la función Mensaje o con la función Mensaje Property.

Personalizar la apariencia del menú

Para personalizar la apariencia del menú, todo lo que tiene que hacer es personalizar el estilo de una opción de este menú. Estas modificaciones se aplicarán automáticamente a todas las opciones del menú.
Se puede personalizar:
  • el fondo color de un menú.
  • el tipo de letra (tamaño, color, ...) de las opciones del menú.
  • el fondo color de la opción hovered.
  • la fuente (tamaño, color, ...) de la opción sobre la que pasa el cursor del ratón.
Para personalizar la apariencia del menú:
  1. Seleccione una opción de menú.
  2. Abra la pestaña "Estilo" en la ventana de opciones de menú de description ("Opción description" de la ventana emergente).
  3. Para personalizar:
    • el color de fondo del menú: seleccione "Fondo de la opción" en el cuadro combinado "Elemento" y seleccione el fondo color de la opción.
    • la fuente de las opciones de menú: seleccione "Texto de opción" en el cuadro combinado "Elemento" y seleccione las características de la fuente (atributos, tamaño, color, ...)
    • el color de fondo de la opción sobrevolada: seleccione "Fondo de la opción (rollover)" en el cuadro combinado "Elemento" y seleccione la color de fondo de la opción sobre la que pasa el cursor del ratón.
Observación: El fondo Color o el texto Color pueden ser:
  • un color predefinido. Seleccione esta color entre las propuestas en el cuadro combinado "color".
  • una Color a medida. Defina esta color con el selector color (botón "..." a la derecha del cuadro combinado "color").
Por ejemplo:
Fondo color de opciones y texto color
Caso especial: Menú en estilo XP
Sólo se tendrán en cuenta las características de la fuente definida para las opciones del menú si éste utiliza el estilo XP. Para obtener más información, consulte Usando el estilo XP en sus ventanas.
Universal Windows 10 App No puede personalizar la apariencia del menú.

Hacer el menú principal de una ventana Invisible

Para que el menú principal sea Invisible, basta con que todas las opciones "principales" del menú sean Invisible.
Ejemplo: Las opciones "principales" del siguiente menú son "Archivos" e "Impresiones".
Principales opciones
Para ocultar este menú principal, introduzca el siguiente código:
// Make the "Files" and "Prints" options invisible
Files.Visible = False
Prints.Visible = False
// Equivalent to:
// MenuInvisible(Files)
// MenuInvisible(Prints)

Ejecutar código antes de mostrar el menú contextual

Para ejecutar código antes de mostrar el menú contextual, basta con añadir la Event opcional denominada "Mostrar menú contextual" en el código del elemento (control o ventana) associated con el menú contextual.
¿Cómo proceder?
  1. Visualice el código del elemento (control o ventana) associated con el menú contextual ("Código" en el menú contextual de elemento).
  2. Haga clic en el enlace "Añadir otros Event s a xxx" en la parte inferior del código de la ventana, después del último Event.
  3. En la lista de eventos opcionales, seleccione "Mostrar menú contextual" y valide.
  4. En esta Event opcional , escribe el código que se ejecutará antes de mostrar el menú contextual.

Visualización de un menú contextual mediante un clic izquierdo

Para mostrar un menú contextual mediante un clic izquierdo, basta con simular la acción de un clic derecho en la Event opcional denominada "Botón izquierdo abajo" de un elemento (control o ventana).
Para que el menú contextual aparezca durante un clic izquierdo (y no durante un clic derecho), el elemento (control o ventana) no debe ser associated por Default con un menú emergente.
Ejemplo: Las operaciones necesarias para abrir un menú contextual al hacer clic con el botón izquierdo del ratón se ilustran en el siguiente ejemplo: El menú contextual "MyMenu" aparece sólo cuando se hace clic con el botón izquierdo del ratón en "EDT_MyControl".
  1. Abra el código de "EDT_Mycontrol" ("Código" en el menú contextual de control).
  2. Haga clic en el enlace "Añadir otros Event s a xxx" en la parte inferior del código de la ventana, después del último Event.
    En la lista de Event s opcionales, seleccione "Botón izquierdo abajo" y confirme.
  3. En este opcional Event, escribe el siguiente código:
    // Associate the context menu with the control
    EDT_MyControl.ContextMenu = MyMenu
    // Simulate a right click on the button to call
    // the context menu
    SendMessage(Handle(MySelf), 516, 0, 0)
    SendMessage(Handle(MySelf), 517, 0, 0)
    // Dissociate the context menu from the control
    EDT_MyControl.ContextMenu = ""

Disociar un menú contextual de una control o de una ventana

Para disociar un menú contextual de un control o una ventana, utilice la ContextMenu Property y pase una cadena de caracteres vacía ("") como parámetro.
Ejemplo
// Dissociate the context menu from the control
EDT_MyControl.ContextMenu = ""
Observación: Si un menú emergente del sistema está disponible, este menú emergente reemplazará al menú emergente personalizado.

Recuperar el número de la Tabla fila y la columna en la que se realiza un clic derecho

Para recuperar el número de la Tabla fila y de la columna seleccionada por un clic derecho antes de mostrar el menú contextual, utilice TableInfoXY en la opción Event "Botón derecho abajo".
Ejemplo: Las operaciones necesarias para recuperar el número de la fila y la columna seleccionada con un clic derecho del ratón se ilustran en el siguiente ejemplo: El menú contextual "MiMenú" es associated con el control Tabla denominado "TABLA_MiTabla".. Este menú permite manipular el contenido de la celda desde la que se abre el menú contextual.
La celda seleccionada se colorea de azul antes de mostrar el menú contextual.
  1. Mostrar el código de "TABLE_MyTable" ("Código" de el menú contextual de control).
  2. Haga clic en el enlace "Añadir otros Event s a xxx" en la parte inferior del código de la ventana, después del último Event.
    En la lista de Event s opcionales, seleccione "Botón derecho abajo" y confirme.
  3. En esta Event opcional, escriba el siguiente código:
    // Retrieve the row and column selected via a right click
    NumSelectedRow is int
    NumSelectedCol is int
    NumSelectedRow = TableInfoXY(MySelf, tiLineNumber, MouseXPos(), MouseYPos())
    NumSelectedCol = TableInfoXY(MySelf, tiColNumber, MouseXPos(), MouseYPos())
    // Modify the color of the selected cell
    TABLE_MyTable [NumSelectedRow][NumSelectedCol].BackgroundColor = LightBlue
WINDEV

Cambiar el menú contextual según el elemento seleccionado en una control TreeView

Para cambiar dinámicamente el menú contextual al seleccionar un elemento en un control TreeView, utilice el ContextMenu Property. Esta Property debe utilizarse cuando se intercepta un clic con el botón derecho del ratón en la control TreeView (Event opcional "Clic derecho").
Ejemplo: Las operaciones necesarias para modificar dinámicamente un menú contextual al hacer clic con el botón derecho del ratón sobre un elemento de una control TreeView se presentan en el siguiente ejemplo:
Los siguientes menús contextuales son associated con el "TREE_Groups" control:
  • ctxUsuario'STRIMEULCHTRIMEULCHTRIMEUL: utilizado para manipular los usuarios listados en el control TreeView.
  • ctxGrupo: utilizado para manipular los grupos de usuarios listados en la lista de control TreeView.
    Cada nodo de la control TreeView representa un grupo de usuarios. Cada hoja de la control TreeView representa a un usuario.
  1. Mostrar el código de "TREE_Groups" ("Código" de el menú contextual de la control).
  2. Posicione el cursor en la opción Event "Clic derecho de TREE_Groups".
  3. En esta Event, escriba el siguiente código:
    // -- Right click of TREE_Groups
    // According to the type of the element selected in the TreeView control,
    // the context menu to display is changed
    nElementType = TreeTypeItem(TREE_Groups, TreeSelect(TREE_Groups))
     
    SWITCH nElementType
    CASE tvLeaf // It's a user
    TREE_Groups.PopupMenu = ctxUser
    CASE tvNode // It's a group of users
    TREE_Groups.PopupMenu = ctxGroup
    OTHER CASE // If an error occurs
    TREE_Groups.PopupMenu = ""
    END
Resultado:
Primer menú contextual de un elementoSegundo menú contextual de un elemento
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/03/2023

Señalar un error o enviar una sugerencia | Ayuda local