ListBox
Le permite al usuario seleccionar (uno o varios) datos de una lista.
Para asignar los valores (item) que podrá seleccionar el usuario, se usa el método .add:
Sub Add ( Text As String [ , Index As Integer ] )
Ejemplo:
listboxPlatos.add("Patatas fritas con huevos")
http://gambaswiki.org/wiki/comp/gb.qt4/listbox/add
Para poder indicar al control que se pueden seleccionar varios valores de la lista se usa la propiedad .mode, que le asignaremos la siguiente variable:
select.Mulitple: te permite seleccionar varios valores
select.None: no te permite seleccionar nada
select.simple: solo te permite seleccionar un valor
Ejemplo:
ListboxPlatos.mode=select.multiple
De esta forma en el listbox llamado ListboxPlatos, se pueden seleccionar varios item.
Para más información:
http://gambaswiki.org/wiki/comp/gb.qt4/listbox
http://gambaswiki.org/wiki/comp/gb.qt4/listbox/mode
http://gambaswiki.org/wiki/comp/gb.qt4/select
ListView:
Es igual que un listbox, pero se le puede indicar un icono a cada item de la lista.
Para ello el método .add pide más datos:
Function Add ( Key As String, Text As String [ , Picture As Picture, After As String ] )
Explicación de los parámetros de la función:
Key: es la "llave" que identifica univocamente el registro
Text: texto que aparecerá
Picture: icono que aparece (opcional, si no se pone no aparece ningun icono)
After: indica despues del item donde se inserta el nuevo idem (opcional, sino se pone, se añade al final de la lista.)
Para más información:
http://gambaswiki.org/wiki/comp/gb.qt4/listview
http://gambaswiki.org/wiki/comp/gb.qt4/listview/add
http://help-gambas.blogspot.com.es/2010/04/control-listbox.html
ComboBox
Es un cuadro de texto combinado con un cuadro de lista móvil.
El textbos que aparece en el combobox, puede ser editable o de solo lectura. Para ello hay que definir el valor de la propiedad .readonly
Si es igual a true, solo será de lectura, y si es igual a False, nos permite modificar el textbox del combobox.
http://gambaswiki.org/wiki/comp/gb.qt4/combobox
Ejemplo:
Tenemos en un formulario donde podemos:
Elegir varios platos a servir (se pueden seleccionar más de uno) (teclas Ctrl + click del ratón)
Indicar si se van a servir en el desayuno, almuerzo, merienda o la cena (solo se puede seleccionar uno)
Indicar que persona (o nueva persona) que se encarga de hacerlo.
Cuando se pulse el botón "Genera Informe", se usa un textArea, para mostrar toda la información que se ha seleccionado.
Formulario: disposición de controles |
Código fuente
-
-
Programa Ejecutándose |
Descarga código fuente: enlace box.com
No funciona el for
ResponderEliminarFor a = 0 To ListBoxPlatos.Count
If ListBoxPlatos[a].Selected = True Then TextLabelInforme.text &= ".........." & ListBoxPlatos[a].Text & "
"
Next
me dice que BAD INDEX
Efectivamente, hay un error. Deberia poner:
ResponderEliminarFor a=0 to ListboxPlatos.Count-1
para que no de el error BAD INDEX.
Gracias por comentarlo.