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 / Controles: tipos disponibles / Control Pestaña
  • Presentación
  • Abrir una pestaña dinámica
  • Abrir una pestaña con el botón "+"
  • Abrir una pestaña utilizando la función TabOpen
  • Consejo: Crear una pestaña "Menú" para permitir al usuario elegir el tipo de pestaña a crear
  • Manipular una pestaña dinámica
  • Cambiar la pestaña dinámica activa
  • Descubrir la leyenda del panel de pestañas dinámico de Active
  • Recuperación de la ventana interna mostrada en un panel
  • Acceder al contenido de la ventana interna que se muestra en un panel
  • Propiedades específicas de los controles de pestañas
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
Presentación
WINDEV permite manipular controles Pestaña dinámica mediante programación con las funciones TabXXX y diferentes propiedades WLanguage. También puede utilizar la control Pestaña Variable directamente en el código.
Atención: Las pestañas estáticas y dinámicas no se identifican de la misma manera:
  • las pestañas estáticas están identificadas por el número de la pestaña activa.
  • las pestañas dinámicas están identificadas por el alias de la pestaña activa.
Observación: Si la ventana interna manipulada en la pestaña dinámica utiliza archivos de datos HFSQL, también debe utilizar un contexto HFSQL independiente.
Abrir una pestaña dinámica
Existen varios métodos para abrir una pestaña dinámica:
  • mediante el botón "+" del control Pestaña. En este caso, se tienen en cuenta las opciones especificadas en la ventana de descripción del control Pestaña.
  • mediante programación con la función .Open.

Abrir una pestaña con el botón "+"

Para abrir una nueva pestaña con botón "+" en el control Pestaña:
  1. En la ventana de descripción del control Pestaña, vaya a la pestaña "Detalles" y seleccione "Con botón 'Nuevo' (+)", luego seleccione la ventana interna en "Ventana interna al hacer clic en Nuevo (+)" y especifique el texto predeterminado de la nueva pestaña.
  2. La ventana interna que se abre con el botón "+" puede ser:
    • una ventana interna específica (por ejemplo, un formulario de cliente).
      Cuando el usuario haga clic en el botón "+", las nuevas pestañas serán idénticas. Se basarán en la misma ventana interna.
      Observación: Si la ventana interna espera parámetros, la pestaña debe abrirse con la función .Open.
    • ninguna ventana interna.
      En este caso, la ventana interna a abrir debe especificarse mediante programación. Para ello, debe utilizar la función .Open en el evento "Creación de una pestaña" del control Pestaña (consulte el párrafo Abrir una pestaña utilizando la función TabOpen).
Observación: El botón "+" de la pestaña dinámica llama automáticamente al evento "Creación de una pestaña" del control Pestaña. Si el evento utiliza la función .Open, tendrá prioridad sobre la ventana interna especificada en la interfaz.

Abrir una pestaña utilizando la función TabOpen

También puede utilizar la función .Open para abrir una pestaña.
Esta función puede, por ejemplo:
  • ser utilizada en un botón para abrir una pestaña adicional en un control Pestaña.
  • ser utilizada en el evento "Creación de una pestaña" del control Pestaña.
La función .Open permite:
  • Obtener el alias de la pestaña. Este alias permite manipular la pestaña mediante programación. Este alias también es devuelto por las propiedades Valor y Alias.
  • Especificar el texto de la pestaña.
  • Especificar la ventana interna a abrir.
  • Pasar parámetros a la ventana interna que se va a abrir.
Ejemplo:
Alias_Tab is string
// New tab containing the form of the current customer
Alias_Tab = TAB_Menu.Open("Customer "+ Customer.CustomerID, IW_CustomerForm, Customer.CustomerID)
// Change the image of the tab pane
TAB_Menu[Alias_Tab]..Image = "NewCust.png"

Consejo: Crear una pestaña "Menú" para permitir al usuario elegir el tipo de pestaña a crear

Al hacer clic en el botón "+", puede mostrarse un menú que permita al usuario elegir el tipo de información que desea mostrar.
Para crear este tipo de interfaz:
  1. Crear una ventana interna "Menú. Esta ventana interna contiene las opciones para elegir los datos que se mostrarán en el nuevo panel de pestañas. Por ejemplo, esta ventana puede permitir al usuario mostrar un formulario de cliente, una factura o la lista de pedidos.
  2. En la ventana control Pestaña description, vaya a la pestaña "Detalles.
  3. En "Ventana interna al hacer clic en Nuevo (+)", seleccione la ventana interna "Menú".
  4. Validar.
En ese caso:
  • El usuario pulsa "+" para añadir una ficha.
  • Aparece un nuevo panel de pestañas que contiene el menú (ventana interna creada anteriormente).
  • En el menú, el usuario elige el tipo de panel de pestañas que desea mostrar.
  • El panel de pestañas actual (el que muestra el menú) se sustituye por el panel seleccionado.
Para desarrollar este tipo de interfaz, se requieren algunas modificaciones:
  • En el código de clic del botón utilizado para elegir el tipo de pestaña, utilice la función <Ventana interna>.ChangeSourceWindow con la siguiente sintaxis:
    ChangeSourceWindow(<Selected Internal Window>, <Replacement Internal Window>)

    Por ejemplo:
    // Replaces the choice window with a form
    ChangeSourceWindow(IW_Choice, IW_Form)
  • Para manipular la nueva pestaña, utilice la siguiente sintaxis:
    <Window>.<Tab control>[<Window>.<Tab control>]

    Por ejemplo, para cambiar el texto de la pestaña abierta:
    WIN_DYNHAND.TAB_MDI[WIN_DYNHAND.TAB_MDI].Caption = "Form " + SysTime()
Manipular una pestaña dinámica
Para manipular una pestaña dinámica, utilice la siguiente sintaxis:
TabControl[TabPaneAlias].PropertyName = PropertyValue
Por ejemplo:
TAB_MyTab[TAB_MyTab].State = Grayed
Observaciones:
  • La función ControlPane obtiene el nombre de la pestaña dinámica (alias) que contiene un control específico.
    // Click on "BTN_UPD" button
    MyPane is Control
    MyPane <- ControlPane(MySelf)
    MyPane.Caption = MyPane.Caption + " (Modified)"
  • La función .Estado obtiene el estado de una pestaña dinámica: activo, flotante, inexistente.
  • Para obtener los alias de las pestañas dinámicas activas, llame a la función EnumControl en el control Pestaña:
    // Populate a Combo Box control with the list of controls in the window
    i is int = 1
    ResControl is string
    ResControl = EnumControl(TAB_MyTab, i)
    WHILE ResControl <> ""
    i++
    Trace(ResControl)
    ResControl = EnumControl(TAB_MyTab, i)
    END
Cambiar la pestaña dinámica activa
De forma predeterminada, la última pestaña dinámica creada se activa. La pestaña activa puede cambiarse mediante programación.
Para activar una pestaña dinámica:
  • Asigne a la control Pestaña el alias del tabulador dinámico a activar:
    Tab control name = AliasOfTabPane
  • Utilice la propiedad Valor.
Recordatorio: Para activar una pestaña estática, especifique el número de la pestaña a activar.
Tab control name = Pane number
Descubrir la leyenda del panel de pestañas dinámico de Active
Para obtener el texto de la pestaña activa, utilice la propiedad Pie de foto en la pestaña (identificada por su alias).
Por ejemplo:
AliasTab1 is string = TAB_Test.TabOpen("My tab 1", "IW_InternalWindow")
Trace(TAB_Test[AliasTab1].Caption)
La propiedad Pie de foto también puede utilizarse para cambiar el texto de la pestaña.
Recuperación de la ventana interna mostrada en un panel
Para recuperar el nombre de la ventana interna que se muestra en un panel dinámico, puede utilizar el siguiente código:
// Retrieves the displayed pane
oInternalWin is Control <- TAB_Test[PaneAlias1]
 
// Retrieves the internal window associated with the pane
sInternalWindowName is string
sInternalWindowName = EnumControl(oInternalWin, 1, byCreationOrder)
Acceder al contenido de la ventana interna que se muestra en un panel
operadores indirectos puede utilizarse para acceder al valor de un control o Variable en la ventana interna mostrada en un panel dinámico:
// Retrieves the value of a control in the internal window
Info({PaneAlias1 + ".ControlName", indControl})
 
// Retrieves the value of a variable in the internal window
Info({PaneAlias1 + ".VariableName", indVariablel})
 
// Call a procedure of the internal window
ExecuteProcess(PaneAlias1 + ".pProcédureName", trtProcedure)
 
// Equivalent to:
MyProcedure is procedure = gsAlias_Tab + ".pProcedureName"
MyProcedure()
Es preferible utilizar los procedimientos locales de una ventana para manipular sus controles, en lugar de acceder directamente a los controles y a las variables por indirección.. Esto mantiene la ventana interna autónoma y facilita el mantenimiento.
Propiedades específicas de los controles de pestañas
Las siguientes propiedades permiten gestionar las características de una control Pestaña Dinámica mediante programación.
CaptionIfNewEl CaptionIfNew Property se utiliza para get y cambiar el título de un panel abierto por el usuario final en un control Pestaña dinámico.
DynamicTabEl DynamicTab Property se utiliza para:
  • Averigua el tipo de control Pestaña (pestaña estática o pestaña dinámica).
  • Modificar el tipo de control Pestaña (pestaña estática o pestaña dinámica).
StoreTheConfigurationEl StoreTheConfiguration Property se utiliza para:
  • Determinar si la configuración de los paneles en un control Pestaña o control Cinta de opciones dinámico se guarda y restaura automáticamente.
  • Modificar la configuración de los paneles en un control Pestaña o control Cinta de opciones dinámico para que se guarde y restaure automáticamente (o no)
UndockablePaneEl UnlockablePane Property se utiliza para:
  • Determinar si el usuario final puede mover los paneles de una cinta o control Pestaña dinámico fuera de la ventana.
  • Permitir o impedir que el usuario final mueva los paneles de una cinta o control Pestaña dinámico fuera de la ventana.
UndockedEl Undocked Property se utiliza para determinar si un panel de una Ficha o control Cinta de opciones está desacoplado.
WindowIfNewEl WindowIfNew Property se utiliza para get y cambiar el nombre de la ventana interna que se abrirá si el usuario final abre una nueva pestaña en un control Pestaña dinámico.
WithClosingButtonLa propiedad WithClosingButton permite:
  • Determinar si todas las pestañas de un control Pestaña dinámica tienen un botón Cerrar.
  • Mostrar un botón Cerrar en todas las pestañas de un control Pestaña dinámica.
WithNewButtonLa propiedad WithNewButton permite:
  • Determinar si un control Pestaña dinámica tiene un botón Nueva pestaña (+).
  • Configurar un control Pestaña dinámica para que muestre un botón Nueva pestaña.
Para obtener una lista completa de las propiedades de WLanguage que pueden utilizarse con los controles Tab, consulte Propiedades de control Pestaña.
Versión mínima requerida
  • Versión 23
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/06/2023

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