Portada
Banner
Portada Foros Manuales Enlaces Email
clear1x1.gif clear1x1.gif clear1x1.gif
clear1x1.gif
clear1x1.gif

Portada
Foros
Manuales
Enlaces
Distribuidores
Precios
Sugerencias

Contacto

 

clear1x1.gif clear1x1.gif
 Guía rápida de inicio al GUI de Visual Pro/5 (Parte 24/68)
Primero Previo Próximo Último

La mayor parte de este programa ya le debe ser muy familiar. El nuevo mnemónico que está usando es el 'EDIT', que crea un control llamado Caja de Edición. Este es un control estándar de Windows para obtener una línea única de entrada del usuario. La sintaxis es idéntica a la indicada para el mnemónico 'BUTTON'. En este ejemplo, estamos asignando control ID 101 a la caja de edición, y suministramos un string vacío para el texto del título. Cualquier texto de título que se suministre será preestablecido como el texto actual en la caja de edición.

Una vez que usted ha corrido el programa, usted deberá poder ver la nueva ventana del GUI y editar el control. Haciendo un Click del ratón dentro de la caja de edición producirá que usted vea una barra intermitente, la cual es conocida como "signo de intercalación", e indica donde el texto será insertado. Entonces, para lograr FOCO en dicho control, hágale click y luego proceda a digitar algún texto.

Ahora utilizaremos la función CTRL para atisbar en el control y ver lo que usted ha entrado. Digite este comando después de haber digitado algo en la caja de edición:

PRINT CTRL(1,101,1)     --->   (Canal GUI, ID del Control y Tipo de Función)

Usted podrá ver el texto que fue digitado en la caja de edición. El primer argumento de la función CTRL() es el número de canal. En este caso, el dispositivo SYSGUI fue abierto por medio del canal 1. El segundo argumento es el ID del control o ventana que está siendo examinada. Como de costumbre, el ID 0 es un distintivo para la ventana en uso. Solo por diversión, trate de imprimir CTRL(1,0,1). Verá el texto del título que se le dio a la ventana: CTRL test.

El tercer argumento es la "función", que dice al CTRL qué tipo de información usted quiere realizar. La función 1 es "obtener texto". Frecuentemente "obtener texto" recupera el texto de título del control o ventana, pero no siempre. Como un ejemplo, cuando el objeto en cuestión es una caja de lista, "obtener texto" retorna el texto del ítem seleccionado de la lista en uso. Existen al menos quince diferentes funciones CTRL(), pero no todas son normalmente usadas.

Si el tercer argumento no fuera suministrado, Visual PRO/5 retorna la más comúnmente-utilizada o "interesante" función para ese control. Esta es siempre ya sea "obtener texto" (función 1) u "obtener valor" (función 2). Generalmente, aquellos controles cuyo estado está descrito principalmente por un número (lista de caja, barra de desplazamiento, caja de chequeo, etc.) asumido por omisión para "obtener valor". Todo lo demás es contrario al valor por omisión para "obtener texto".

Para que haga la prueba, digite estas dos líneas!!

PRINT CTRL(1,101)
PRINT CTRL(1,0)

Como usted puede ver, la función "obtener texto" es el valor por omisión en estos casos. Si a usted no le molesta esto con las funciones por omisión, no necesita preocuparse. Usted siempre puede especificar el tercer argumento y obtener la función que usted desee.

La función 0 es "obtener rectángulo". Eso retorna la ubicación del rectángulo unificador del control o ventana especificada. El rectángulo es retornado como cuatro strings consecutivos binarios de dos bytes. Este es un patrón que trabajará con CTRL() función 0.

X:U(2), Y:U(2), W:U(2), H:U(2)

Vamos a intentar encontrar la ubicación y tamaño de la ventana y de la caja de edición. Para eso adicione las siguientes líneas al programa definido en la página anterior.

0060 DIM RECT$: "X:U(2), Y:U(2), W:U(2), H:U(2)"
0070 RECT$=CTRL(1,0,0)
0080 PRINT RECT.X, RECT.Y, RECT.W, RECT.H
0090 RECT$=CTRL(1,101,0)
0100 PRINT RECT.X, RECT.Y, RECT.W, RECT.H

Ahora intente mover la ventana y encontrar los valores de nuevo. ¿Se sorprendió? La ubicación de la ventana es diferente, pero las dimensiones son las mismas. Todas las coordenadas para la caja de edición son reportadas relativamente a la ventana, de modo que no cambiaron. Usted podría encontrar alguna ligera variación de dimensión en errores de conversión debido a la conversión entre pixeles y semicaracteres.

Primero Previo Próximo Último

Portada -- Foros -- Manuales -- Enlaces-- Sugerencias
Para comentarios: webmaster@essnet.com

clear1x1.gif
clear1x1.gif
clear1x1.gif
Portada Email Foros