BBjButton
El objeto BBjButton provee métodos para manipular un control GUI tipo botón de comandos. El siguiente ejemplo con funcionalidad completa (cópialo y pégalo en un nuevo programa y ejecútalo) te permite observarlo en acción. He destacado en otro color la instrucción que contiene la creación del objeto.
REM “[PRG02] Ejemplo de BBjButton
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 BBjButton"
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
REM “=============================
boton1! = window!.addButton(101,50,100,90,30,"Rojo",$0800$)
REM
REM “Registra rutinas en CALLBACKs
REM “=============================
CALLBACK(ON_BUTTON_PUSH,BOTON_PULSADO,sysgui!.getContext(),boton1!.getID())
CALLBACK(ON_CLOSE,CIERRA_APLIC,sysgui!.getContext())
REM
REM “Procesa Eventos
REM “===============
PROCESS_EVENTS
REM
REM “Rutina Callback llamada cuando se pulsa el botón
REM “================================================
BOTON_PULSADO:
REM “Crea el objeto BBjColor usando la constante colorNum
REM “====================================================
color_rojo! = sysgui!.makeColor(sysgui!.RED)
REM
REM “Establece el color del boton a ROJO
REM “===================================
boton1!.setBackColor(color_rojo!)
RETURN
REM
REM “Rutina Callback llamada cuando el usuario cierra la ventana de la aplicación
REM “============================================================================
CIERRA_APLIC:
RELEASE
RETURN