You are on page 1of 10

PROPIEDADES Y EVENTOS USADOS POR VISUAL FOXPRO

1. PROGRAMACIN ORIENTADA A OBJETOS


La POO intenta ser un mejor sistema para el desarrollo de aplicaciones. Como toda
tcnica de programacin, si se hace mal puede ser desastrosa.

Una de las mejoras que se tiene con la POO es el permitir afrontar programas
ms complejos y de mayor tamao con menor esfuerzo. El hecho de trabajar con
pequeos elementos bien definidos, como son los objetos, nos permite aislar cada
componente de la aplicacin, del resto y de esa forma aprovechar en mayor
medida nuestro esfuerzo.

1.1. Elementos de la POO


Clase y objeto
La clase es la generalizacin de los objetos y los objetos son la concrecin de
la clase. Como ejemplo podemos observar los botones de un entorno grfico,
donde definimos que la clase botn es la generalizacin de las propiedades y
comportamientos de todos los botones de los entorno grficos.

Definir una clase


Las clases son la descripcin de los elementos comunes de los objetos que
generalizan. As las clases se definen y pueden ser usadas para crear
innumerables objetos de este tipo. Para definir una clase utilizaremos una
sencilla sintaxis de VFP.
DEFINE CLASS NombreClase AS Clasebase

Para poder utilizar esta definicin debemos incluirla en un fichero .PRG y


cargado con SET PROCEDURE TO o bien incluirla al final de nuestro
fichero .PRG.

Crear un objeto
Ya podemos crear objetos basado en esta clase, para ello utilizaremos la
siguiente expresin:
Variable1 = CREATEOBJECT("NombreClase")

Propiedades
Como hemos dicho, las propiedades son los datos que manejan las clases.
Estas propiedades se declaran en la definicin de la clase y permanecen en
todo momento asociados a los objetos CREADOS bajo esa clase.

Mtodos
El otro elemento caracterstico de una clase son los mtodos. Los mtodos
son acciones que pueden realizar los objetos, es decir, son funciones o
procedimientos asociados a este tipo objeto.
Mensajes
Cuando llamamos a un mtodo de un objeto se dice que estamos enviando un
mensaje al objeto para que realice una determinada accin.

Operador this
Cuando vamos a utilizar una propiedad o un mtodo de la clase, debemos
anteponer al operador punto el operador THIS, para indicar que se trataran
las propiedades del objeto que recibe el mensaje, es decir, que ha sido
invocado, y no para otro.

Las propiedades mantienen valores diferentes para cada uno de los


objetos, pero los mtodos comparten su cdigo entre todos los objetos de
una clase. Un mtodo vara en la medida que las propiedades del objeto que
lo llama son diferentes, por ello es tan importante el operador THIS.

Ocultacin
Una de las mejoras que implementa la POO, es la posibilidad de limitar el
acceso a determinadas propiedades o mtodos. Con ello conseguimos que la
utilizacin de la clase se haga de forma ordenada.

Las propiedades o mtodos protegidos slo son utilizables desde los


mtodos pertenecientes a esta clase y no pueden usarse directamente por
otros programas.

Al igual que podemos proteger propiedades, podemos proteger mtodos.


De esta forma podemos definir mtodos que slo sean usados por otros
mtodos de la clase y no puedan ser invocados a partir de los objetos de esta
clase. Para ello basta colocar la clusula PROTECTED antes de
PROCEDURE.
Polimorfismo
Cuando realizamos programacin estructurada debemos tener cuidado de no
llamar con el mismo nombre a dos variables o a dos procedimientos, sin
embargo en la POO podemos llamar a un mtodo o a una propiedad de una
clase de igual forma que un mtodo o propiedad de otra. Esta caracterstica
es lo que se denomina polimorfismo.

Eventos
Existe una serie de mtodos especiales, que normalmente no se ejecutan por
ser invocados de forma explcita, como los que hemos definido hasta ahora,
sino que por denominarse de una forma determinada son lanzados cuando
"pasa algo", es decir, cuando se produce un evento. Estos eventos pueden ser
un clic, el movimiento del ratn, una pulsacin de tecla, etc.

En definitiva la POO es una mejor forma de programar por Ejemplo:

- DEFINE EL OBJETO formu


formu = CREATEOBJECT("Ejemplo")

- DEFINE EL OBJETO boton


formu.ADDOBJECT("boton","boton")
formu.SHOW
READ EVENT

- CLASE DEL OBJETO formu


DEFINE CLASS ejemplo AS FORM
MOVABLE = .F.
CLOSABLE = .F.
CAPTION = "EJEMPLO DE POO"
AUTOCENTER = .T.
ENDDEFINE

- CLASE DEL OBJETO boton


DEFINE CLASS boton AS COMMANDBUTTON
VISIBLE = .T.
CAPTION = "PRESIONE AQUI"
LEFT = 125
TOP = 65
HEIGHT = 100
PROCEDURE CLICK
IF MESSAGEBOX("ACABAS DE UTILIZAR POO",0 + 48)=1
CLEAR EVENT
ENDIF
ENDDEFINE
- Fin del programa

2. Formularios
2.1. Objeto; Una instancia de una clase que combina datos y procedimientos. Por
ejemplo, un control de un formulario en ejecucin es un objeto.

2.2. Formulario; se utilizan para visualizar e introducir cualquier tipo de


informacin y son el medio de comunicacin entre el usuario y los datos.

2.3. Propiedades; un atributo de un control, campo u objeto de base de datos


que se establece para definir una de las caractersticas del objeto o un
aspecto de su comportamiento. Por ejemplo, la propiedad Visible afecta a la
visibilidad en tiempo de ejecucin de un control. Puede cambiar los valores
de las propiedades de objeto mediante la ventana Propiedades.

2.4. Evento; una accin, reconocida por un objeto, para la cual puede escribir
cdigo de respuesta. Los eventos pueden estar generados por una accin del
usuario, como hacer clic con el mouse o presionar una tecla, por cdigo de
programa o por el sistema, como ocurre con los cronmetros.

2.5. Mtodo; Una accin que un objeto es capaz de realizar. Por ejemplo, los
cuadros de lista tienen mtodos llamados AddItem, RemoveItem y Clear para
mantener el contenido de las listas.

2.6. Barra de herramientas; una serie de botones en los que se hace clic para
realizar tareas frecuentes. Las barras de herramientas pueden flotar en su
propia ventana o bien puede acopladas en los extremos superior, inferior o
laterales de la ventana principal de Visual FoxPro. Puede personalizar las
barras de herramientas suministradas con Visual FoxPro, as como crear
barras de herramientas propias mediante la clase de base ToolBar incluida
con Visual FoxPro.

2.7. Objetos y propiedades bsicas


Form
El formulario es un objeto de tipo contenedor. Los conjuntos de formularios
acogen a uno o ms formularios, o incluso barra de herramientas. Ala hora
de ejecutar el conjunto de formularios, se activan todos los formularios
definidos en el mismo.

Propiedad Uso
Caption Ttulo de la ventana o forma
Autocenter Centra el formulario
ShowTips Para que se muestren los Tooltips
Closable Visualiza el botn cerrar de la ventana
MaxButton Visualiza el botn maximizar
MinButton Visualiza el botn minimizar
ControlBox Visualiza el men de control de la ventana

Eventos o Uso
Mtodos
Se dispara a la hora que se inicializan todos los
Init
objetos del formulario
Se dispara antes que se inicialicen los objetos del
Load
formularios (antes que el init)
Destroy Se dispara al cerrar el formulario
Unload Se dispara despus de Destroy

Vietas y cuadros de texto


Las vietas o Labels se utilizan para escribir etiquetas a los objetos.
Propiedad Uso
Caption Ttulo de la ventana o forma
Alignment Especifica la alinacin del texto
Name Nombre del objeto
BackColor Color de fondo
ForeColor Color de la letra

Eventos o Uso
Mtodos
Click Se dispara al dar clic en el objeto
El evento MouseDown se desencadena al presionar
MouseDown
un botn del mouse
Ocurren cuando el usuario presiona (MouseDown) o
MouseUp
suelta (MouseUp) un botn del mouse

Los cuadros de texto sirven para capturar los datos de los campos.
Propiedades Uso
Es la variable o nombre del campo al cual se hace
ControlSource
referencia
Contenido de la variable o campo referenciado al
Value
ControlSource
Visible Si el control es visible al usuario
Enabled Si el control esta habilitado o no
Evento o Mtodo Uso
Click Se dispara al dar clic en el objeto
GotFocus Cuando el control toma el enfoque
LostFocus Cuando el control pierde el enfoque

Botones de comando
Un control que est asociado a un comando. Cuando hace clic en el botn de
comando en tiempo de ejecucin, el comando asociado al botn se ejecuta.
Propiedades Uso
Caption Etiqueta del comando
Visible Si el control es visible al usuario
Enabled Si el control esta habilitado

Evento o Mtodo Uso


Click Se dispara al dar clic en el objeto
SetlFocus El cursor se va al objeto
LostFocus Cuando el control pierde el enfoque
Refresh Refresca el objeto
Init Se dispara a la hora que se inicializa el objeto

Botones de opcin y casillas de verificacin


Un control OptionButton muestra una opcin que se puede activar o
desactivar.
Propiedades Uso
ControlSource Es la variable o nombre del campo al cual hace
referencia
Value Contenido de la variable o campo referenciado en
ControlSource
Visible Si el control es visible al usuario
Enabled Si el control esta habilitado o no

Evento o Mtodo Uso


InteractiveChange Se dispara cuando modificamos el campo
Init Se dispara a la hora en que se inicializa el objeto
Click Se dispara al dar click en el objeto
Valid Se dispara despus de presionar Enter o Tab, se
utiliza para validar
Refresh Refresca el objeto

Un control CheckBox muestra una X cuando est activado; la X desaparece


cuando el control CheckBox se desactiva. Utilice este control para ofrecer al
usuario una opcin de tipo Verdadero o Falso o S o No. Puede usar controles
CheckBox en grupos para mostrar mltiples opciones entre las cuales el
usuario puede seleccionar una o ms. Tambin puede establecer el valor de
CheckBox mediante programacin con la propiedad Value.
Listas y cuadros combinados
Un control ListBox muestra una lista de elementos entre los cuales el
usuario puede seleccionar uno o ms. Si el nmero de elementos supera el
nmero que puede mostrarse, se agregar automticamente una barra de
desplazamiento al control ListBox.

Si no se selecciona ningn elemento, el valor de la propiedad ListIndex


ser -1. El primer elemento de la lista es ListIndex 0 y el valor de la
propiedad ListCount siempre es uno ms que el mayor valor de ListIndex.

Los cuadros de lista y los cuadros combinados presentan al usuario una


lista de opciones. De forma predeterminada, las opciones se muestran
verticalmente en una nica columna, aunque tambin puede establecer
mltiples columnas. Si el nmero de elementos supera a los que se pueden
mostrar en el cuadro combinado o el cuadro de lista, aparecen
automticamente barras de desplazamiento en el control. El usuario puede
entonces desplazarse por la lista hacia arriba o hacia abajo o de izquierda a
derecha.
Un cuadro combinado ana las caractersticas de un cuadro de texto y un
cuadro de lista. Este control permite al usuario seleccionar opciones si
escribe texto en el cuadro combinado o selecciona un elemento de la lista.

A diferencia de otros controles que contienen un nico valor, por ejemplo


la propiedad Caption de una etiqueta o la propiedad Text de un cuadro de
texto, los cuadros de lista y los cuadros combinados contienen mltiples
valores o una coleccin de valores. Tienen mtodos integrados para agregar,
quitar y recuperar valores de sus colecciones en tiempo de ejecucin. Para
agregar varios elementos a un cuadro de lista llamado Lista1, el cdigo sera
como el siguiente:
Lista1.AddItem "Pars"
Lista1.AddItem "Nueva York"
Lista1.AddItem "San Francisco"

Los cuadros de lista y los cuadros combinados son una manera efectiva de
presentar al usuario gran cantidad de opciones en un espacio limitado.
Propiedades Uso
ControlSource Variable a que hace referencia (campo donde se
almacena el valor de la lista)
RowSource Tabla o query de los elementos de la lista
rowSourceType Tipo de la fuente (si es tabla o query)
Visible Si el control es visible al usuario
Enabled Si el control esta habilitado o no
Valor que retorna la lisa (nmero de la columna de
BoundColumn
Rowsource)
Especifica si el valor de la lista esta determinado por
BoundTo
los valores o por la propiedad ListIndex

Evento o Mtodo Uso


Click Se dispara al dar clic en el objeto
SetlFocus El cursor se va al objeto
LostFocus Cuando el control pierde el enfoque
Refresh Refresca el objeto
Init Se dispara a la hora que se inicializa el objeto

Cuadrcula
Un control que crea una cuadrcula y que le permite presentar los datos en
un formato tabular. Los controles de tipo cuadrcula contienen encabezados
de columna, columnas y controles de columna.

Propiedades Uso
RecordSource Nombre de la tabla
Visible Si el control es visible al usuario
Enabled Si el control esta habilitado o no
ColumnCount Nmero de columnas del Grid
Permite registro para borrar (Aparece en la parte
DeleteMark
izquierda del Gris

Evento o Mtodo Uso


Click Se dispara al dar clic en el objeto
SetFocus El cursor se va al objeto
LostFocus Cuando el control pierde el enfoque
Refresh Refresca el objeto
Init Se dispara a la hora que se inicializa el objeto

Imgenes, controles OLE, timer, Marcos de pgina


Un control que le permite incluir imgenes en un formulario.

Hipervinculo con cualquier tipo de aplicacin.

Un control Timer puede ejecutar cdigo a intervalos peridicos


produciendo un evento Timer.
Un marco de pgina es un objeto contenedor que contiene pginas. A su
vez, las pginas contienen controles. Las propiedades pueden establecerse a
nivel de marco de pgina, de pgina o de control.

3. Propiedades en el Tiempo de Ejecucin


El modelo de objeto de Visual FoxPro proporciona mucho control sobre las
propiedades en tiempo de ejecucin.

Propiedad Referencia
El control del formulario activo actualmente que tiene el
ActiveControl
enfoque
ActiveForm El formulario activo actualmente
ActivePage La pgina activa del formulario activo actualmente
Parent El contenedor ms inmediato del objeto
THIS El objeto o un procedimiento o un evento del objeto
THISFORM El formulario que contiene el objeto
THISFORMSET El conjunto de formularios que contiene el objeto

Las propiedades se manipulan haciendo referencia al control y a la propiedad,


separadas por un punto (.):
[conjunto_de_formularios.][formulario.]control.propiedad = configuracin.

Por ejemplo, para cambiar a editar el ttulo de un botn de comando del


formulario form1, utilice el comando siguiente en un programa o en la ventana de
comandos:
Form1.cmdbutton1.caption = Editar

Utilice las palabras clave THIS, THISFORM y THISFORMSET para hacer


referencia a objetos que estn en un formulario o un conjunto de formularios. Por
ejemplo, para cambiar el ttulo de un botn cuando se hace clic sobre ste, incluya
el comando siguiente en el cdigo de evento clic para el botn de comando:
THIS.Caption = Editar

La tabla siguiente ofrece ejemplos del uso de THISFORMSET, THISFORM, THIS


y Parent para establecer propiedades de objeto.

Comando Donde debe incluir el comando


En el cdigo de evento o de mtodo de cualquier control de un
THISFORMSET.frm1.cmd1.caption = Aceptar
formulario del conjunto de formularios salvo frm1.
En el cdigo de evento o de un mtodo de cualquier control
THISFORM.cmd1.caption = Aceptar
salvo cmd1 en el mismo formulario donde est cmd1.
En el cdigo de evento o de mtodo del control cuyo ttulo desea
THIS.caption = Aceptar
cambiar.
En el cdigo de evento o de mtodo de un control de un control
THIS.parent.BackColor = RGB(192.0.0) de un formulario. El comando cambia a rojo oscuro el color de
fondo del formulario.

4. Eventos Bsicos de Visual FoxPro


La tabla siguiente contiene una lista del principal conjunto de eventos de Visual
FoxPro que se aplican a la mayora de los controles. Para ver una descripcin
completa de los eventos de Visual FoxPro, vea la ayuda.

Evento Cundo se desencadena el evento


Al cargar en memoria un formulario o un conjunto de
Load
formularios.
Al liberar de la memoria un formulario o un conjunto de
Unload
formularios
Init Al crear un objeto
Destroy Al liberar de la memoria un objeto
Cuando el usuario hace clic en el objeto utilizando el botn
Click
principal del mouse.
Cuando el usuario hace doble clic en el objeto utilizando el
DblClick
botn principal del mouse.
Cuando el usuario hace clic en el objeto utilizando el botn
RightClick
secundario del mouse.
Cuando el objeto recibe el enfoque, ya sea como resultado
de una accin del usuario como presionar la tecla TAB o
GotFocus
hacer clic, o porque se cambie el enfoque en el cdigo
mediante el mtodo SetFocus.
Cuando el objeto pierde el enfoque, ya sea como resultado
de una accin del usuario como presionar la tecla TAB o
LostFocus
hacer clic, o porque se cambie el enfoque en el cdigo
mediante el mtodo SetFocus.
KeyPress Cuando el usuario presiona y suelta una tecla.
Cuando el usuario presiona un botn del mouse mientras el
MouseDown
puntero del mouse se encuentra sobre el objeto.
MouseMove Cuando el usuario mueve el mouse sobre el objeto.
Cuando el usuario suelta un botn del Mouse mientras el
MouseUp
puntero del mouse se encuentra sobre el objeto.
InteractiveChange Al cambiar de forma interactiva el valor del objeto.
ProgrammaticChan Al cambiar mediante programa el valor del objeto.
ge

You might also like