Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0
(Nivel 2)
Carúpano, Marzo de 2008
Programación En GAMBAS 2.0.0 1
USO DE CONTROLES MAS COMUNES
LISTBOX: El control ListBox implementa una lista de items seleccionables. Para crear un
objeto ListBox dibujamos el objeto sobre un formulario eligiendo el tamaño y lugar que
ocupara en función del arrastre que se haga con el mouse.
Algunas de sus propiedades son las siguientes:
● Name: Inherente al nombre del objeto. Ejem: MiListaBox.
● Enable: Acepta valores booleanos (True o False), para permitir si se pueden
seleccionar items del control o no.
● Font: Permite elegir el tipo y tamaño de la fuente que mostrara el ListBox.
● List: Esta propiedad permite agregar un grupo de items que se mostraran en el
control.
● Mode: Permite colocar el control en diferentes modos (single, multiple, none), de
manera que se pueda seleccionar un solo item (single) o varios a la vez (multiple)
● ToolTip: Muestra mensajes emergentes al colocarse sobre el control.
● Visible: Acepta valores booleanos (True o False), para indiciar si el objeto estará
visible o no en el formulario.
En el siguiente ejemplo vamos a crear un programa que permita ingresar, eliminar
y visualizar elementos a través de un objeto ListBox. Se quiere con este programa que al
escribir en la casilla ingrese un dato, este aparezca en la lista del lado derecho.
Adicionalmente al hacer clic sobre cualquier item de la lista este aparezca reflejado en una
etiqueta. También deberá permitir eliminar un item seleccionado o uno a uno los items de
la lista.
Para ello creamos un Proyecto Nuevo en Gambas y dibujamos un formulario con los
controles (01 TexBox, 01 ListBox, 04 Button, 01 Label), que se muestran a continuación:
Programación En GAMBAS 2.0.0 2
La propiedad Name del control ListBox la cambiamos por el nombre ListaBox. El resto de
los objetos los dejamos con sus nombres predefinidos.
A continuación hacemos doble clic sobre el formulario principal y colocamos el siguiente
código:
ME.Center()
Esta instrucción permitirá que el formulario este centrado en relación con el tamaño y
resolución de nuestro monitor.
Al comienzo del código del formulario principal escribimos lo siguiente:
' Gambas class file
PUBLIC Control AS Boolean
Esta variable permitirá controlar la validación de la casilla de texto para saber si esta vacía
o no.
En el Button1 (insertar en ListBox), coloque el siguiente código:
PUBLIC SUB Button1_Click()
control = TRUE
Validar
IF control = FALSE THEN RETURN
ListaBox.Add(TextBox1.Text)
TextBox1.Text = ""
Programación En GAMBAS 2.0.0 3
textbox1.SetFocus
END
Al presionar el botón este valida en primer lugar que la casilla de texto no este vacía; si lo
esta emite un mensaje de advertencia y no agrega el dato a la lista, ya que cambia el valor
de la variable Control.
El evento Validar tendrá el siguiente código:
PUBLIC SUB Validar()
IF textbox1.Text = "" THEN
Message.Info("debe escribir un nombre")
TextBox1.SetFocus
Control = FALSE
ENDIF
END
En el Button2 (Eliminar uno a uno), coloque el siguiente código:
PUBLIC SUB Button2_Click()
ListaBox.Remove(0)
END
Esto permitirá usar el método Remove para eliminar uno a uno el contenido de la lista. El
numero 0 indica que debe hacerlo hasta el primer item de la lista.
En el Button3 (Eliminar seleccionado), coloque el siguiente código:
PUBLIC SUB Button4_Click()
DIM CantidadItems AS Integer
CantidadItems = ListaBox.Index
IF CantidadItems >= 0 THEN
ListaBox.Remove(CantidadItems)
ELSE
IF ListaBox.Count > 0 AND CantidadItems = 1 THEN
Message.Info("Debe seleccionar algo")
ENDIF
ENDIF
END
El método Index permitirá conocer la posición del item seleccionado en la lista de manera
de eliminarlo de la misma. Si no se seleccionada ninguno envía un mensaje de
advertencia.
Programación En GAMBAS 2.0.0 4
Así mismo, para que lo anterior funcione, se deberá colocar la siguiente codificación en el
evento Select del ListBox.
PUBLIC SUB ListaBox_Select()
DIM resultado AS String
resultado = Trim(ListaBox.Text)
Label2.Text = resultado & " FUE SELECCIONADO"
END
En el Button3 (regresar), coloque el siguiente código:
PUBLIC SUB Button3_Click()
FMain.Show
ME.Close
END
Esto nos permitirá regresar al formulario principal (en caso que exista) y cerrar el
formulario existente.
EJERCICIO:
En base al ejemplo anterior, realice las siguientes modificaciones:
1. Colocar un mensaje de información (Message.Info) que indique el numero del
elemento que se esta insertando en el ListBox.
2. Colocar un mensaje de información (Message.Info) que indique el numero del
elemento que se esta eliminando en el ListBox al presionar el botón “Eliminar el
Seleccionado”.
3. Cambiar la propiedad Font del Button1 de manera que se coloque en “negritas”
cuando el mouse se pose sobre el botón.
4. Cambiar el color del texto seleccionado en la lista y que se muestre en la etiqueta.
LISTVIEW: El control ListView muestra una lista de items seleccionables. Es muy
parecido al control ListBox pero con la diferencia que pueden visualizarse iconos en los
objetos de la lista.
Algunas de sus propiedades son las siguientes:
● Border: Determina si el control utiliza un borde o no.
● Editable: Permite editar con un simple click cualquiera de los objetos que se
Programación En GAMBAS 2.0.0 5
encuentran en la lista. Por defecto esta opción se encuentra inactiva (FALSE).
● Mode: Define si será una lista simple o múltiple.
● Scrollbar: Define si las barras de desplazamiento del control estarán en la parte
inferior o del lado derecho, o por el contrario el programa asumirá la mejor
alternativa dependiendo del tamaño del dato (Both).
El código a incluir en el formulario es el siguiente:
PUBLIC SUB Form_Open()
DIM PicLinux AS NEW Picture
DIM PicGambas AS NEW Picture
PicLinux.Load("linux.png")
PicGambas.Load("gambas.png")
ListaView.Add("listitem1", "listitem1", PicLinux)
TextLabel1.Text = ListaView.Item.Text
ListaView_Click
ME.Center()
END
En el evento Open se crean dos variables que contendrán las imágenes que estarán en el
control ListView. Inicialmente se debe agregar un item al control para que no presente
Programación En GAMBAS 2.0.0 6
error al cargar el objeto. Esto se logra con la propiedad Add.
Luego se hace un llamado el evento ListaView_Click el cual mantendrá actualizado el
control por medio de las propiedades MoveCurrent, e Item.Selected para indicar cuando
se ha seleccionado un item de la lista.
PUBLIC SUB ListaView_Click()
ListaView.MoveCurrent
'ListaView.Item.Selected = TRUE
'TextLabel1.Text = ListaView.Item.Text & sStatus
END
Para agregar un item a la lista, se usa el siguiente código, donde además se debe elegir la
imagen que acompañará al item, por medio de la selección de uno de los objetos
RadioButton que se encuentran en el formulario (dos en total).
PUBLIC SUB Button1_Click()
DIM PicToUse AS NEW Picture
IF TextBox1.Text <> NULL THEN
IF RadioButton1.Value THEN
PicToUse.Load("linux.png")
ELSE
PicToUse.Load("gambas.png")
ENDIF
ListaView.MoveCurrent()
ListaView.Add(TextBox1.Text, TextBox1.Text, PicToUse)
TextBox1.Text = ""
sStatus = " current."
ListaView_Click
ListaView.Item.EnsureVisible
ENDIF
END
Programación En GAMBAS 2.0.0 7
Los siguientes eventos se utilizan para actualizar y visualizar el item seleccionado en el
control. La variable sStatus almacena la opción si el item esta seleccionado o activado.
Esto se usa para casos donde de selección múltiple.
PUBLIC SUB ListaView_Select()
TextLabel1.Text = ListaView.Item.Text
sStatus = "seleccionado."
ListaView_Click
END
PUBLIC SUB ListaView_Activate()
TextLabel1.Text = ListaView.Item.Text & " seleccionado"
sStatus = " activado."
ListaView_Click
END
EJERCICIO:
En base al ejercicio anterior, modifíquelo de manera que al seleccionar un ítem lo coloque
en la etiqueta en mayúsculas, negrita y centrado; además, deberá mostrar un mensaje
(message.info) donde también muestre el nombre del ítem.
COMBOBOX: El control ComboBox se utiliza para mostrar datos en un cuadro combinado
desplegable. De forma predeterminada, el control ComboBox aparece en dos partes: la
parte superior es un cuadro de texto que permite al usuario escribir un elemento de la
lista. La segunda parte es un cuadro de lista que muestra una lista de elementos, de los
cuales el usuario puede seleccionar uno.
Algunas de sus propiedades son las siguientes:
● List: Lista de items que se pueden agregar al ComboBox.
● Maxlength: Hace referencia a la máxima longitud que se le puede asignar a los
items que se incluirán en el control.
● Password: Permite mostrar a través de una opción boleana (True o False) si los
items del control se mostraran como contraseñas.
● Visible: Permite mostrar a través de una opción boleana (True o False) si el control
Programación En GAMBAS 2.0.0 8
estará visible o no.
Por medio del siguiente ejemplo demostraremos el uso del control ComboBox, para ello
crearemos un formulario con el siguiente aspecto:
A continuación, colocaremos el siguiente código en el formulario:
PUBLIC SUB Form_Open()
ME.Center
ME.Title = "Ejemplo del Uso del Control ComboBox"
BotonMas.ToolTip = "Agrega un Item al ComboBox"
BotonMenos.ToolTip = "Elimina un Item del ComboBox"
END
Cuando se inicie el formulario principal se centrará el formulario que contiene al objeto,
además se colocará el titulo de la ventana activa y los mensajes emergentes de los
botones de agregar y eliminar del ComboBox.
PUBLIC SUB BotonMas_Click()
DIM Entrada AS String
Entrada = InputBox("agregar su edad <b>No Mienta!!</b>:", "Uso ComboBox", "01")
ComboBox1.Add(Entrada)
ComboBox1.Refresh
END
Para agregar un item al objeto usaremos el comando InputBox, previo a ello debemos
crear una variable que contendrá el valor introducido para luego pasárselo al objeto y
Programación En GAMBAS 2.0.0 9
agregarlo. Por ultimo se actualiza el objeto.
PUBLIC SUB BotonMenos_Click()
DIM NumItems AS Integer
ComboBox1.Refresh
NumItems = ComboBox1.Count
IF NumItems > 0 THEN
DEC NumItems
IF NumItems <> 0 THEN
ComboBox1.Remove(NumItems)
ENDIF
ComboBox1.Refresh
ENDIF
END
Para eliminar un elemento del objeto ComboBox debemos en primer lugar contar la
cantidad de items que posee el control, para que se pueda pasar a la propiedad remove
que eliminará el item del control. Por ultimo se actualiza el ComboBox de manera que se
visualicen los items disponibles.
PUBLIC SUB ComboBox1_Change()
DIM resultado AS String
resultado = Trim(ComboBox1.Text)
'resultado = "<b>" & Trim(ComboBox1.Text) & "</b>"
Etiqueta.Text = "Edad: " & resultado & " Fue seleccionada"
END
El evento Change permitirá mostrar el item seleccionado del ComboBox en un objeto
Label (en nuestro caso tiene el nombre Etiqueta).
PUBLIC SUB Button1_Click()
FMain.Show
ME.Close
END
Por ultimo vamos al menú principal (si existe), y cerramos la ventana que contiene al
control.
EJERCICIO:
En función del ejercicio anterior, modifíquelo de manera que la edad seleccionada se
Programación En GAMBAS 2.0.0 10
muestre en negrita.
TABSTRIP: El control TabStrip implementa un conjunto de pestañas en un solo objeto. Es
muy útil para manipular datos que involucren una secuencia de adquisición de
información; por ejemplo, cuando se piden datos bancarios de un cliente, proceso que
implica varios puntos como datos personales, referencias bancarias, etc.
Algunas de sus propiedades son las siguientes:
● Count: Permite definir la cantidad de pestañas que contendrá el control.
● Orientation: Define si las pestañas del control estarán en la parte inferior (Bottom)
o en la superior (top).
● Picture: Permite colocar un icono en la pestaña que se este editando en ese
momento. La imagen a colocar debe tener extensión .png, .jpg, .jpeg, .gif, .xpm
● Text: Permite colocar el nombre a la pestaña que se esta editando.
Programación En GAMBAS 2.0.0 11
En la segunda pestaña de nuestro control TabStrip, se debe dibujar un TextLabel, el cual
modificaremos su tamaño de texto y contenido a través de lineas de código que
colocaremos en el formulario.
Una vez ingresados los datos, se presiona el botón siguiente de manera que nos lleve a la
próxima pestaña, el código que debe contener es el siguiente:
PUBLIC SUB Button1_Click()
Tabulador.Index = 1
END
La propiedad index indica al objeto a que pestaña activará, en este caso la pestaña 1. Las
pestañas se numeran desde el 0 hasta n.
Adicionalmente, colocaremos el siguiente código en el formulario:
PUBLIC SUB Form_Open()
ME.Center()
TextLabel1.Text = "<h1>" & "GRACIAS POR INGRESAR SUS DATOS" & "</H1>"
END
PUBLIC SUB Button2_Click()
FMain.Show
ME.Close
END
EJERCICIO:
Diseñe un programa que lea dos cadenas de texto y muestre ambas en mayúsculas y
negritas, pero con colores diferentes. Utilice el control TabStrip para pedir en una pestañas
los datos y en otra los resultados.
Programación En GAMBAS 2.0.0 12