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 = TRUEValidarIF control = FALSE THEN RETURNListaBox.Add(TextBox1.Text)TextBox1.Text = ""
Programación En GAMBAS 2.0.0 3
textbox1.SetFocusENDAl 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)ENDEsto 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 IntegerCantidadItems = ListaBox.IndexIF CantidadItems >= 0 THEN ListaBox.Remove(CantidadItems)ELSE IF ListaBox.Count > 0 AND CantidadItems = 1 THEN Message.Info("Debe seleccionar algo") ENDIF ENDIF ENDEl 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 Stringresultado = Trim(ListaBox.Text)Label2.Text = resultado & " FUE SELECCIONADO"END
En el Button3 (regresar), coloque el siguiente código:
PUBLIC SUB Button3_Click()FMain.ShowME.CloseENDEsto 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 PictureDIM PicGambas AS NEW PicturePicLinux.Load("linux.png")PicGambas.Load("gambas.png")ListaView.Add("listitem1", "listitem1", PicLinux)TextLabel1.Text = ListaView.Item.TextListaView_ClickME.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 & sStatusEND
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.ShowME.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 PictureIF 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.EnsureVisibleENDIF 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.TextsStatus = "seleccionado."ListaView_ClickEND
PUBLIC SUB ListaView_Activate()TextLabel1.Text = ListaView.Item.Text & " seleccionado"sStatus = " activado."ListaView_ClickEND
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.CenterME.Title = "Ejemplo del Uso del Control ComboBox"BotonMas.ToolTip = "Agrega un Item al ComboBox"BotonMenos.ToolTip = "Elimina un Item del ComboBox"ENDCuando 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 StringEntrada = InputBox("agregar su edad <b>No Mienta!!</b>:", "Uso ComboBox", "01")ComboBox1.Add(Entrada)ComboBox1.RefreshENDPara 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 ENDIFENDPara 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 Stringresultado = Trim(ComboBox1.Text)'resultado = "<b>" & Trim(ComboBox1.Text) & "</b>"Etiqueta.Text = "Edad: " & resultado & " Fue seleccionada"ENDEl 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.ShowME.CloseENDPor 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 = 1END
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.ShowME.CloseEND
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
Top Related