Está en la página 1de 12

CURSO DE GAMBAS 2.0.

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).

En el siguiente ejemplo vamos a crear un programa que utilice el control  ListView  para 


ingresar datos y que los muestre en una etiqueta label al hacer clic sobre alguno de ellos.
El diseño del formulario debe ser el siguiente:

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   regresar   al   menú   principal   se   hace   un   llamado   al   formulario   principal   y 


posteriormente  se  cierra  el  formulario  actual.   En  el  caso  que  no  se  use  un  formulario 
principal simplemente escriba Me.Close().
PUBLIC SUB Button2_Click()
FMain.Show
ME.Close(0)
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.

A   continuación,   vamos   a   crear   un   pequeño   programa   que   nos   permita   ingresar 


información utilizando el control TabStrip. Para ello usaremos 02 pestañas. Llamaremos a 
nuestro TabStrip Contenedor.
El formulario diseñado debe tener el siguiente aspecto:

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

También podría gustarte