Você está na página 1de 6

Controles OCX 1

Posted By admin On Junio 4, 2008 @ 12:04 am In FoxPro ActiveX, FoxPro Controles | No Comments

(No Ratings Yet)

Este articulo es para tratar acerca de los controles ACTIVEX u OCX que pueden manejarse en
VisualFoxPro y que hacen que nuestras aplicaciones sean mucho mas ricas en interfaz y facilidad de uso
tanto para los usuarios como para nosotros mismos a la hora de programar.
Con la ventaja de los controles ActiveX nuestra programacion se puede extender a hacer muchas cosas
que de otra manera seria un poco mas dificil de programar. Claro que tenemos las CLASES creado con
controles de VisualFoxPro, y tenemos opciones API para interactuar directamente con Windows, pero al
menos he descubierto que algunas de las cosas que he necesitado estos controles pequeños y faciles de
programar hacen que mis aplicaciones sean mucho mas sencillas.
Hablare aquí de algunos de los controles ActiveX que vienen dentro de VisualStudio y se instalan al
poner VisualBasic tales como IMAGELIST, DROPDATE, TABS, RICHTEXT, y tambien hablare
acerca de controles de la empresa DBI-TECH en su gran colección y como se utilizan para dar una
interfaz grafica muy profesional a nuestros sistemas, combinado con los controles tradicionales de
VisualFoxPro

Por ejemplo, en esta ventana estan incluidos los siguientes controles:


PAGEFRAME de VisualFoxPro
COMMANDBUTTON de VisualFoxPro
IMAGELIST de VisualBasic
TABS de VisualBasic.
CtPAPER de DBI-TECH
Yo utilizo el PAGEFRAME de VFP, pero no podia poner por ejemplo que tuvieran imágenes cada una
de las pestañas como se ve en la imagen y esto cambia mucho en como puede apreciar un usuario.
He aquí como se realiza.
Primero que nada necesita tener registrados los controles MSCOMLIB.OCX y CTPAPER.OCX. El
registro de los controles OCX se explica en otra seccion y el control MSCOMLIB.OCX debe estar en el
CD de VisualStudio. El control de CTPAPER.OCX lo debe adquirir de la empresa DBI-TECH ([1]
www.dbi-tech.com )
Despues de que cada control este registrado (tambien puede colocarlo en la carpeta de SYSTEM dentro
de la carpeta WINDOWS) debera agregarlo a la lista de controles en VFP, desde el menu TOOLS,
OPTIONS, CONTROLS

El boton de ADD le permite agregar nuevos controles y seleccionarlos, puede decirle a VFP que se
pongan por defecto para que los pueda ver. Ahora una mediante la barra de herramientas de controles
puede seleccionarlos asi

Y vera los controles que tenga marcado en su barra de tareas mas o menos asi:

Como vera esto difiere en mucho de sus controles habituales. Cada uno de estos iconos representa un
control ActiveX registrado debidamente y agregado a sus formas, ahora lo que debe de hacer es
seleccionarlo como cualquier otro control de VFP.
Para la forma que hemos visto al principio, primero debemos seleccionar nuestros botones estandar.

Y seleccionar nuestro PAGEFRAME y lo dibujamos en la pantalla.


Pero debemos quitar las pestañas, con la propiedad TABS puesta a .F. (Le recomiendo que no haga esto
hasta que no termine de programar primero el contenido interno del pageframe ya que es mas facil
hacerlo con las pestañas que cuando no las tiene).
Ahora procede a tomar de sus nuevos controles el control TABS que dira algo como MICROSOFT
TABS STRIP CONTROL 6.0 (SP4). Le recomiendo mucho que ponga atencion a que el control TABS
diga version 6.0 ya que las versiones anteriores no contienen todas las propiedades que mencionare y
puede que le quede de manera diferente.
Una vez creado el control, pulse con el boton derecho para abrir sus propiedades, vera algo como esto.

El primer paso es ir a TABS e insertar tantas pestañas como necesitemos, aquí vermos que ya se ha
puesto una con el indice 1 y el caption INTRODUCCION. Eso es todo lo que necesitaremos de
momento.

Ahora, tome el control de IMAGELIST (vera unas carpetitas) y dibujelo en cualquier parte de la
forma. Este control es como el control de TIMER que no se ve nunca en nuestra forma, pero que permite
almacenar una serie de imágenes para usarse con otros controles. Abrimos sus propiedades y veremos:
Y aquí insertaremos las imágenes que queramos poner en nuestros TABS, puede de hecho poner las
suficientes para cambiar, si mal no recuerdo parece que soporta entre 50 y 100 imágenes. (Si estoy mal
mil disculpas). Cada imagen tiene un numero de indice que utilizaremos mas tarde.
Ahora, he aquí la programacion. Esto se hara en el control de TABS, dentro del METODO INIT,
pondremos:

thisform.oTabs.ImageList = thisform.oListaImagen
thisform.oTabs.Tabs(1).Image = 7
thisform.oTabs.Tabs(2).Image = 8
thisform.oTabs.Tabs(3).Image = 9
Y dentro del METODO CLICK pondremos:
DO CASE
CASE thisform.oTabs.Tabs(1).Selected
thisform.pageframe1.page1.ZOrder
CASE thisform.oTabs.Tabs(2).Selected
thisform.pageframe1.page2.ZOrder
CASE thisform.oTabs.Tabs(3).Selected
thisform.pageframe1.page3.ZOrder
ENDCASE

Recordemos que debemos dar nombre a nuestros objetos (propiedad NAME), asi nuestro TABS se
llama oTABS y nuestro control de IMAGELIST, se llama oListaImagen. En el primer codigo, le
decimos al control que tome las imágenes desde el otro control en su propia propiedad IMAGELIST. Y
asignamos despues a cada pestaña una imagen diferente, el numero que se muestra corresponde a la
imagen que queramos usar.
En el siguiente codigo, es para cuando se de un click con el raton en cada pestaña y que muestre el
contenido correspondiente del PAGEFRAME, porque recordemos que este control se le quitaron las
pestañas.
Para finalizar, dentro de la primera pagina del PAGEFRAME se ha puesto el control CTPAPER que
permite poner cualquier tipo de texto con el formato de un cuaderno. Esto se logra de las mismas
propiedades del control.
Esto trae las suficientes propiedades como para poner los hoyos del cuaderno, la pagina doblada, el color
de fondo, color de las lineas, o quitarlas, etc. El texto del control se pone dentro del INIT de la forma de
esta manera:

cStrText = chr(13) + chr(13) + “Ese procedimiento es para pueda hacer respaldos de su informacion.
” + chr(13) + ;
“El formato usado estara comprimido y puede hacerlo tanto en su disco duro como en diskette ” + ;
“o cualquier otro medio que desee. ” + chr(13) + ;
“Este formato no podra ser leido directamente, sino que tiene que RESTAURAR (recuperar) para ” + ;
“ver su informacion.” + chr(13) + chr(13) + ;
“Si solo desea copiar una parte de la informacion de sus archivos, utilice la opcion de ” + ;
“IMPORTAR/EXPORTAR”
* Aqui ponemos el texto superior para pasarlo al Control.
thisform.pageframe1.page1.oText.Caption = cStrText

Basicamente la ultima linea es la que se asigna el texto al control.


Y listo! El resto de las paginas del PAGEFRAME puede ser programado de acuerdo a sus preferencias
usando los botones de comando y los controles normales de VFP, he aquí una muestra:
Aquí vemos que utilizamos el control de OPTIONGROUP en modo grafico y con imágenes y un boton
de comando y un control de texto normal.
El resto de la programacion ya es sencillo, pero con este ejemplo hemos visto como algunos de los
controles ACTIVEX nos da una interfaz diferente a nuestro estilo de programacion. En proximos
articulos hablare sobre como hacer fechas desplegables, cajas de lista, cajas combo, controles de grid,
controles para red (WinSock) y algunos otros.
Articulo Original publicado en mi boletin fisico
VISUAL FOXPRO TIPS
Por: Lic. Sergio Hugo Sanchez O.
29, Abril, 2002 - H. Matamoros, Tam. Mexico - I.D. Systems

Article printed from IDSFoxPro Blog: http://foxpro.idsystemsmx.com/wordpress

URL to article: http://foxpro.idsystemsmx.com/wordpress/?p=21

URLs in this post:


[1] www.dbi-tech.com: http://www.dbi-tech.com/
[2] Controles+OCX: http://technorati.com/tag/Controles+OCX
[3] DBI+Tech: http://technorati.com/tag/DBI+Tech
[4] PageFrame: http://technorati.com/tag/PageFrame
[5] Image: http://foxpro.idsystemsmx.com/wordpress/?p=21&print=1

Você também pode gostar