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:
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.
Deja un comentario