BBjStatusBar

El objeto BBjStatusBar provee métodos para manipular un control GUI del tipo barra de estado. Esta barra puede dividir en segmentos. Cuando se crea el control comienza con un solo segmento. Posterior a su definición podemos crear segmentos adicionales con el método BBjStatusBar::setSegments. Este método pide que ingresemos un vector en el cual cada elemento debe indicar la posición final de los segmentos en orden.

La posición final de cada segmento puede ser relativa. Si la última posición final es menor que el tamaño de la barra de estado, entonces todos los segmentos serán escalados hasta completar el espacio disponible. Si colocamos segmentos enteramente fuera del rango de la barra de estado, entonces no se desplegarán. En el caso de segmentos que sean más anchos que el espacio disponible serán truncados. En la barra de estado están permitidos hasta 255 segmentos y la máxima posición final admitida es 65535.

El siguiente ejemplo crea la barra de estado en la ventana y luego define dos segmentos:

REM “[PRG40] Ejemplo de BBjStatusBar

REM “Mundo BBx (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=300

ALTO=200

TITULO$="Ejemplo de uso BBjStatusBar"

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 una etiqueta a la ventana

REM “================================

barra1!=window! .addStatusBar(1)

REM

REM “Crea un vector de segmentos

REM “===========================

VectorSegmentos! = miAPI!.makeVector()

REM

REM “Crea dos segmentos en la barra de estado y estable los puntos de termino

REM “para cada segmento

VectorSegmentos!.addItem(100)

VectorSegmentos!.addItem(200)

REM

REM “Asigna los segmentos en la barra de estado

REM “==========================================

barra1!.setSegments(VectorSegmentos!)

REM

REM “Asigna texto a cada uno de los segmentos

REM “========================================

barra1!.setTextAt(0, "Segmento1")

barra1!.setTextAt(1, "Segmento2")

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