AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Combo Box
  • Presentación
  • Los diferentes métodos de alineación del texto
  • Alineación de elementos con el carácter TAB
  • Alineación de elementos a la derecha o a la izquierda
  • Obtener elementos de un control List Box
  • Alineación mediante espacios (disponible solo para tipos de letra monoespaciados)
  • Alinear valores numéricos
  • Alinear valores numéricos
  • Alinear números en el separador decimal
  • Obtener el contenido del control List Box
  • Alineación en los controles Combo Box con entrada
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
Existen diferentes métodos para alinear los elementos en un control List Box o Combo Box:
  • Para el texto:
    • Alineación de elementos con el carácter TAB. Los elementos pueden alinearse a la izquierda o a la derecha.
    • Alineación mediante espacios (disponible solo para tipos de letra monoespaciados).
  • Para los valores numéricos: Alineación de números en el separador decimal.
  • Para los controles Combo Box con entrada.
Los diferentes métodos de alineación del texto

Alineación de elementos con el carácter TAB

Para alinear los elementos de un control List Box o Combo Box, la solución más fácil es utilizar el carácter de control TAB.
// The first element is filled to reserve the size
ListAdd(LIST_LIST2, Complete("MALTESE", 8) + TAB + "Corto")
ListAdd(LIST_LIST2, "SCROOGE" + TAB + "John")
ListAdd(LIST_LIST2, "ANA" + TAB + "Yoko")
Con el carácter TAB, el ancho de cada elemento se calcula tomando como referencia el carácter "E". Este ancho de referencia se multiplica por el número de caracteres de cada elemento.
Importante: La primera llamada a la función ListAdd define las posiciones de los caracteres TAB para todo el control List Box y para los otros controles List Box en la ventana. Por lo tanto, cuando se llama a la función ListAdd por primera vez, debe haber "espacio suficiente" para los demás elementos de control. Por ejemplo, si se sabe que el elemento más grande que se mostrará en el control contiene 20 letras, se puede fijar el tamaño utilizando la función Complete.

Alineación de elementos a la derecha o a la izquierda

De forma predeterminada, el texto de los elementos está alineado a la izquierda. También puede utilizar el carácter TAB para alinear el texto de los elementos a la izquierda.
Para alinear un elemento a la derecha, simplemente utilice el carácter EOT (antes del texto que se mostrará en el control List Box).
Los elementos que utilizan el carácter EOT se alinearán a la derecha independientemente del ancho de control.
// The first element is filled to reserve the size
ListAdd(LIST_LIST3, EOT + Complete("MALTESE", 8) + ...
TAB + EOT + "Corto")
ListAdd(LIST_LIST3, EOT + "SCROOGE" + TAB + EOT + "John")
ListAdd(LIST_LIST3, EOT + "ANA" + TAB + EOT + "Yoko")

Obtener elementos de un control List Box

Al obtener un elemento de un control List Box, se devuelve la línea completa, incluyendo los posibles caracteres EOT y TAB.
Por ejemplo, para el control List Box anterior, la siguiente función obtiene el primer elemento:
Line = LIST_List4[1]
La variable Line contiene el siguiente texto: <EOT>MALTESE <TAB><EOT>Corto
Por lo tanto, cualquier carácter EOT y TAB debe ser extraído.

Alineación mediante espacios (disponible solo para tipos de letra monoespaciados)

El uso de una fuente de ancho variable dificulta la alineación en los controles List Box que contienen varios elementos en una sola fila.
Por ejemplo, si el control List Box utiliza la fuente "Arial" y contiene dos elementos, el código a continuación mostrará el control List Box con elementos no alineados:
ListAdd(LIST_LIST1, Complete("MALTESE", 8) + "Corto")
ListAdd(LIST_LIST1, Complete("SCROOGE", 8) + "John")
ListAdd(LIST_LIST1, Complete("ANA", 8) + "Yoko")
Aunque se especifica que el primer elemento debe ocupar el espacio de 8 caracteres, no estará alineado con el segundo elemento.
Cada carácter de una fuente proporcional tiene un ancho específico. En este tipo de fuentes, no es posible alinear elementos utilizando espacios.
Sin embargo, este método se puede utilizar con fuentes no proporcionales como "Courier".
Alinear valores numéricos

Alinear valores numéricos

Tanto los valores numéricos como el texto pueden alinearse utilizando el mismo método (ver párrafo anterior). Sin embargo, los valores numéricos también pueden alinearse en el separador decimal.

Alinear números en el separador decimal

Para alinear los números en el punto decimal, debe combinar los caracteres TAB y EOT:
  • la parte entera está alineada a la derecha.
  • la parte decimal (incluido el punto decimal) se alinea a la izquierda.
Como se explicó anteriormente, la primera llamada a la función ListAdd determina el ancho de los elementos. Por lo tanto, es necesario asegurarse de que la primera fila que se agregue al control establezca un ancho suficiente para los demás elementos.
ListAdd(LIST_LIST4, Complete("FRANCE", 7) + TAB + EOT + ...
"  30" + TAB + ",00")
ListAdd(LIST_LIST4, "CANADA" + TAB + EOT + "10" + TAB + ",00")
ListAdd(LIST_LIST4, "SWITZERLAND" + TAB + EOT + "246")

Obtener el contenido del control List Box

Al obtener un elemento de un control List Box, se devuelve la línea completa, incluyendo los posibles caracteres EOT y TAB.
Por ejemplo, para el control anterior, la siguiente función obtiene el primer elemento del control List Box:
Line = LIST_List4[1]
La variable Line contiene el siguiente texto: "France " + TAB + EOT + " 30" + TAB + ",00"
Por lo tanto, cualquier carácter EOT y TAB debe ser extraído.
Alineación en los controles Combo Box con entrada
Todos los métodos de alineación presentados anteriormente están disponibles para los controles Combo Box con y sin entrada.
Sin embargo, si se utilizan los caracteres EOT y TAB para alinear los elementos de un control Combo Box con entrada, el valor que se muestre en el control al seleccionar el elemento contendrá los caracteres de alineación.
En este caso, se debe:
  • utilizar un tipo de letra monoespaciado ("Courier", por ejmplo) y alinear los elementos con espacios sin utilizar caracteres TAB o EOT (solución recomendada).
  • extraer los caracteres EOT y TAB del elemento seleccionado. Para ello, escriba el proceso correspondiente en el evento "Cada vez que se modifica" del control.
En este caso, el usuario no podrá seleccionar un elemento en el control Combo Box utilizando el teclado, sino solo con el ratón.
Para un control Combo Box cuyos elementos se han agregado de acuerdo al siguiente formato:
ListAdd(LIST_LIST5, text2 + TAB + EOT + "10" + TAB + ",00")
El proceso para extraer los caracteres TAB y EOT es el siguiente:
// -- Selecting a row in the Combo Box control
// Extract the TAB characters
Str is string
Str = MySelf
// "FRANCE"+TAB+eot+30+tab+,00
Col1 is string = ExtractString(Str, 1) // France
Col2  is string = ExtractString(Str, 2) // eot+30
Col3 is string = ExtractString(Str, 3) // ,00
// Extract the EOT character
Col2 = ExtractString(Col2, 2, EOT) //30
 
MySelf = NoSpace(Col1) + " " + NoSpace(Col2) + NoSpace(Col3)
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: 04/10/2022

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