BBjControl
El objeto BBjControl es el objeto base para todos los controles dentro de BBjSysGui y provee métodos para manipular éstos controles. Conviene en este punto entender que todos los controles SysGui dentro de BBj (BBjWindow, BBjGrid, BBjTree, BBjButton, etc.) son en esencia también objetos BBjControl. Eso significa que todos los métodos que contiene BBjControl, salvo cuando se informa una excepción a la norma, se pueden usar en todos los controles.
En el siguiente ejemplo, se crea un formulario con sintaxis de objetos, pero a propósito (con fines demostrativos) se crea un control en pantalla mediante su mnemónico respectivo, para luego obtener el control y asignarlo a una variable de tipo objeto, con la cual interactuar posteriormente con la sintaxis de objetos.
REM “[PRG00] Ejemplo de BBjControl
REM "MundoBBx (http://sites.google.com/site/mundobbx)
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 sysgui!=miAPI!.getSysGui()
REM
REM “Valores para crear una ventana
REM “==============================
X=10
Y=10
ANCHO=400
ALTO=300
TITULO$=PGM(-2)+" Ejemplo de uso BBjControl"
REM
REM “Establece el contexto actual
REM “============================
sysgui!.setContext(0)
REM
REM “Crea la ventana
REM “===============
window! = sysgui!.addWindow(X,Y,ANCHO,ALTO,TITULO$)
REM
REM “Agrega un boton en la ventana usando un mnemonico
REM “=================================================
PRINT (SYSGUI)'BUTTON'(101,50,100,90,30,"Button",$$)
REM
REM “Obtiene el boton en una variable Objeto
REM “=======================================
boton1! = window!.getControl(101)
REM
REM “Registra rutinas en CALLBACKs
REM “=============================
CALLBACK(ON_CLOSE,CIERRA_APLIC,sysgui!.getContext())
REM
REM “Procesa Eventos
REM “===============
PROCESS_EVENTS
REM
REM “Rutina Callback llamada cuando el usuario cierra la ventana de la aplicación
REM “============================================================================
CIERRA_APLIC:
RELEASE
RETURN