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