Primer formulario GUI

Con el artículo anterior deberíamos comprender razonablemente bien los nuevos conceptos. Pero sigamos, para llegar a un objetivo muy importante en nuestro aprendizaje: crear nuestro primer formulario GUI recurriendo a la sintaxis de objetos.

Bajo el BBjAPI tenemos el objeto BBjSysGui que representa el canal SYSGUI que nos permite la creación y manipulación de formularios y controles gráficos en una apliación GUI. Para poder usar el canal SYSGUI tenemos que “instanciar” el objeto en nuestro programa, como lo muestra el mismo código que mostramos anteriormente.

rem "[PRG01] Mi Primer Programa en BBj
rem
rem "Obtiene una instancia del objeto BBjAPI
rem "=======================================
LET miAPI!=BBjAPI()
rem
rem "Abre el dispositivo SYSGUI
rem "==========================
SYSGUI=UNT
OPEN (SYSGUI) "X0"
rem
rem "Obtiene la instancia del objeto BBjSysGui
rem "=========================================
LET miSysGui!=miAPI!.getSysGui()
rem
escape

Bien, ya hemos logrado lo que en Vpro5 habría implicado sencillamente colocar el siguiente código:

SYSGUI=UNT
OPEN (SYSGUI)"XO"

Hasta el momento parece más complejo, pero ya veremos cuan sencillo se va tornando la programación bajo este nuevo concepto.

Ahora construyamos nuestro primer formulario GUI en BBj. Para esto debemos saber que bajo el BBjSysGui se encuentra el objeto BBjWindow que es el punto de entrada para crear objetos window, es decir, nuestros formularios GUI. Aquí tenemos dos tipos de objetos window: las BBjTopLevelWindow y las BBjChildWindow.
Comenzaremos creando las primeras y las segundas las dejaremos para más adelante en nuestra aprendizaje. Para esto crearemos una instancia del objeto window y lo dejaremos en una variable objeto que llamaremos con el mismo nombre: window!, el programa que estamos elaborando ahora se verá así:

rem "[PRG01] Mi Primer Programa en BBj
rem
rem "Obtiene una instancia del objeto BBjAPI
rem "=======================================
LET miAPI!=BBjAPI()
rem
rem "Abre el dispositivo SYSGUI
rem "==========================
SYSGUI=UNT
OPEN (SYSGUI)"X0"
rem
rem "Obtiene la instancia del objeto BBjSysGui
rem "=========================================
LET miSysGui!=miAPI!.getSysGui()
rem
rem "Valores para crear una ventana
rem "==============================
X=10
Y=10
ANCHO=400
ALTO=300
TITULO$="Ejemplo de una ventana GUI"
rem
rem "Establece el contexto actual
rem "============================
miSysGui!.setContext(0)
rem
rem "Crea la ventana
rem "===============
window! = miSysGui!.addWindow(X,Y,ANCHO,ALTO,TITULO$)
escape

Nuestra pantalla debiera presentar una apariencia similar a esta:

pantalla1

Más adelante hablaremos de los contextos en BBj, aunque si ya conoces Vpro5 te resultará familiar el concepto y su uso. Como ves, nos adentramos en los objetos a medida que creamos instancias de los objetos base o clases. Una vez creados en nuestro programa, comenzamos a ocupar sus elementos (o en terminología POO usamos sus atributos y comportamientos). Hemos incluido el comando escape en el ejemplo para evitar que el programa ejecute un END por defecto y cierre nuestro canal SYSGUI.

En este punto de nuestro programa podemos ver un formulario en pantalla sin nada, por lo que nuestro siguiente paso es empezar a incluir elementos propios de un formulario GUI. Comencemos por agregar un control básico en casi cualquier formulario, un control StaticText o Label como se conoce en otros lenguajes.

Publicado en: BBj, Tutoriales

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>