Clase para crear barras de herramientas fácilmente en FoxPro, sin tener que usar la clase toolbar.

1,419 views
Skip to first unread message

Carlos Alloatti

unread,
May 22, 2014, 7:27:31 PM5/22/14
to publice...@googlegroups.com
Les dejo esta clase de uso libre, para poder crear en forma fácil y rapida una toolbar en cualquier formulario sin tener que estar lidiando con la clase nativa toolbar.

La característica principal de los botones de la clase es que no toman foco, además de ser totalmente configurables. 

La imagen a usar en el botón puede ser de cualquier tamaño y formato, el botón se encarga de todo automáticamente.



ZeRoberto

unread,
May 22, 2014, 7:29:01 PM5/22/14
to publicesvfoxpro
Carlos Allloatti a los tiempos que lo leo, gracias por compartir su codigo voy a revisarlo, dime es compatible con la anterior clase ctl32?

ZeRoberto

unread,
May 22, 2014, 7:29:58 PM5/22/14
to publicesvfoxpro
Estuve probando el Menu Emergente, pero no me muestra las imagenes bmp, lo puedes corregir.

Carlos Alloatti

unread,
May 22, 2014, 8:46:15 PM5/22/14
to publice...@googlegroups.com
Si, se puede usar sin problemas con cualquier otra clase. En cuanto a los bmp en el menú emergente, debería funcionar, siempre y cuando la función filetostr pueda encontrar el archivo en la ruta de búsqueda. El único detalle es que el menú no te va a hacer transparente el fondo del bmp. Puedo añadirle que haga transparente el color del pixel superior izquierdo como hace el botón, pero queda mucho mas agradable en general usar imágenes en formato png, ya que los bmp no tienen canal alfa, o sea información de transparencia, y un pixel solo puede ser 100% opaco o 100% transparente, con lo que se pierden las sombras y píxeles semi transparentes.

arglys1 .

unread,
May 22, 2014, 9:38:54 PM5/22/14
to publice...@googlegroups.com
buenas noches disculpen la molestia como ago para dejar de recibir informacion sobre este foro en mi gmail

Luis Maria Guayan

unread,
May 23, 2014, 9:05:26 AM5/23/14
to publice...@googlegroups.com
Gracias Carlos por compartir.

Un fenómeno Carlitos ;-)

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Saúl Piña

unread,
May 23, 2014, 9:32:29 AM5/23/14
to publice...@googlegroups.com
Voy a probar haber que tal.  gracias !!

ZeRoberto

unread,
May 23, 2014, 9:51:56 AM5/23/14
to publicesvfoxpro
Carlos y si haces como el VFP reemplaza todo color blanco por transparencia. Sin necesidad de basarte en el primer pixel, porque eso puede variar.

Saludos

Esteban

unread,
May 23, 2014, 3:26:22 PM5/23/14
to publice...@googlegroups.com

Gracias Carlos.

 

Saludos.

 

Esteban.

ZeRoberto

unread,
May 23, 2014, 6:03:12 PM5/23/14
to publicesvfoxpro
Carlos los controles no permiten poner o mostrar teclas de atajo \<



ZeRoberto

unread,
May 23, 2014, 6:05:38 PM5/23/14
to publicesvfoxpro
Ademas veo varios prgs que referencian a funciones API pero en el Ctl32 ya tengo esa funcions, debo incorporar todos esos prgs a mi proyecto? o los toma del CTL32

Saludos

Carlos Alloatti

unread,
May 23, 2014, 10:18:09 PM5/23/14
to publice...@googlegroups.com
Gracias por los comentarios.

El tema teclas de atajo, no, no tienen, y no creo que les ponga. Supongo que esa funcionalidad deberia estar en tu menu estandard, o sino hay menu, deberás implementarla dentro del keypress del form. Salvo que me das alguna otra idea y vemos.

En cuanto a los prg _api*, si, hay que añadirlos, pero te quedan abajo de todo y no molestan. Tener un archivo prg por cada función API es la unica forma 100% segura de que otras clases/programas no te manden un clear dlls o te redeclaren la funcion API sin alias y chau tu definición. De esta forma estás 100% protegido contra desprolijidades de terceros. Si ya se que tener decenas de prgs añadidos al proyecto molesta, pero quedan abajo al comenzar con _

Lo del color transparente, voy a agregar una propiedad tbColorKey, con valor default -1. Si se deja en default, toma pixel superior izquierdo, se tiene un valor definido, toma ese valor. Le pones rgb(255,255,255) y listo. 

Con respecto a los archivos de imagenes usados en el menu, deberias incluir un comando EXTERNAL FILE 'XXXX.BMP' para cada archivo que uses, asi te los incluye en el ejecutable

Creo que no me faltó nada.

Hugo C.

unread,
May 24, 2014, 12:45:53 AM5/24/14
to publice...@googlegroups.com

Excelente trabajo Carlos, Gracias por compartir.

Saludos.

ZeRoberto

unread,
May 24, 2014, 12:09:32 PM5/24/14
to publicesvfoxpro
Carlos otra cosa que estoy notando es que en los menus emergentes un bmp de 17x17 lo reduce a 14x14 y como es bmp se distorsiona un poco

ZeRoberto

unread,
May 25, 2014, 3:13:05 PM5/25/14
to publicesvfoxpro
Carlos no era mejor meter en un solo archivo _api.prg todas las funciones api?

Luis Maria Guayan

unread,
May 25, 2014, 4:32:04 PM5/25/14
to publice...@googlegroups.com
?????

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

ZeRoberto

unread,
May 25, 2014, 6:16:59 PM5/25/14
to publicesvfoxpro
Es que por cada funcion api es un prg, y entonces tenemos como 20 prgs

Saludos

Juan fernando claro

unread,
May 26, 2014, 9:49:32 AM5/26/14
to publice...@googlegroups.com
Yo hice un solo prg con todas las funciones correspondiente a cada archivo y funciona sin problemas

ZeRoberto

unread,
May 26, 2014, 11:09:14 AM5/26/14
to publicesvfoxpro
Lo puedes postear?


El 26 de mayo de 2014, 8:49, Juan fernando claro <jfcla...@gmail.com> escribió:
Yo hice un solo prg con todas las funciones correspondiente a cada archivo y funciona sin problemas



Edgar Acevedo

unread,
May 27, 2014, 1:22:56 AM5/27/14
to publicesvfoxpro
Gracias por tu generosa aportación.  Está sencillamente genial.

Saludos,


Edgar Acevedo.

Carlos Alloatti

unread,
May 27, 2014, 3:48:39 PM5/27/14
to publice...@googlegroups.com
Ahi actualizae la descarga, se puede especificar el tamaño de la imagen del menu.

Carlos Alloatti

unread,
May 27, 2014, 3:51:23 PM5/27/14
to publice...@googlegroups.com
No, no es mejor, por varias razones, pero la mas importante es que esos prgs con las declaraciones de funciones API de Windows las usan todas mis clases y programas, asi, esta todo en un solo lugar y no tengo que estar repitiendo codigo. Ademas un prg con 50-100 funciones se hace inmanejable. (en mi carpeta WINAPI tengo 560 funciones declaradas)

Carlos Alloatti

unread,
May 27, 2014, 3:56:21 PM5/27/14
to publice...@googlegroups.com
Creas un prg, y copias pegas cada prg individual, añadiendo una linea la principio y otra al final:

PROCEDURE XXXX
.
.
.
ENDPROC

Donde XXXX es el nombre del prg, sin la extension. Te puedes hacer una rutina que lo haga automaticamente.

Jose Antonio Blasco

unread,
May 28, 2014, 3:10:28 AM5/28/14
to Comunidad de Visual Foxpro en Español
Carlos, cuando intento ejecutarlo desde el proyecto, me pide un "prg"  llamado "_api" que figura en el proyecto pero no en el zip.

Por lo demás parece funcionar bien.

Debo quitarlo o si que falta ?

Como todo lo que compartes, muy buen trabajo.

Gracias y un saludo.

Jose A. Blasco
Zaragoza - España
Visual FoxPro 9 SP2

"No hay camino hacia la libertad, la libertad es el camino" - Indira Gandhi
“Nunca te olvides de sonreír, porque el día que no sonrías  será un día perdido”  -  Charles Chaplin
“Todo el mundo quiere tener un amigo, pero pocos se toman la molestia de ser uno”
- Anónimo

ZeRoberto

unread,
May 28, 2014, 10:02:15 AM5/28/14
to publicesvfoxpro
Jose Antonio dale omitir y borra ese prg, y funcionara normal

Saludos

Jose Antonio Blasco

unread,
May 28, 2014, 10:06:44 AM5/28/14
to Comunidad de Visual Foxpro en Español
Gracias y un saludo.

Jose A. Blasco
Zaragoza - España
Visual FoxPro 9 SP2

"No hay camino hacia la libertad, la libertad es el camino" - Indira Gandhi
“Nunca te olvides de sonreír, porque el día que no sonrías  será un día perdido”  -  Charles Chaplin
“Todo el mundo quiere tener un amigo, pero pocos se toman la molestia de ser uno”
- Anónimo


ZeRoberto

unread,
May 29, 2014, 9:10:10 AM5/29/14
to publicesvfoxpro
Carlos una pregunta porque no integraste este control a CTL32.VCX, puedo usar los apis de ese control en este otro.

Saludos

Angel Ferreira

unread,
Oct 12, 2014, 11:24:42 PM10/12/14
to publice...@googlegroups.com
Está fantastico este trabajo!!!! Excelente!!!!

Sólo observo un detalle:  Al usarla en un formulario MDI y llamar a otros forms hijos,  los mismos pueden sobreponerse encima del toolbar. Anexo imagen de muestra.
 
Existe alguna forma de que VFP asuma algún top para evitar este comportamiento?  Es decir,  que no permita que otros formularios suban y se coloquen encima de los controles?  Igualmente pasa cuando se maximiza una ventana hija.

Algunas ideas para controlar este comportamiento y que siempre se encuentre visible el toolbar ?  Siempre me he preguntado cómo se puede crear un control en VFP que impida que otros controles se sobrepongan al mismo.

Saludos y mil gracias por el aporte!!!!!
Toolbar.PNG

Rafael Morales

unread,
Oct 13, 2014, 9:21:05 AM10/13/14
to publice...@googlegroups.com
hola, se ve muy buena esa herramienta, buen trabajo carlos. 
¿El link de descarga es: http://www.ctl32.com.ar/tbz/tbz.html ?, me sale un aviso de que no esta disponible la página.
--
Rafael Morales

Angel Ferreira

unread,
Oct 13, 2014, 9:27:25 AM10/13/14
to publice...@googlegroups.com
Rafael,

Yo la descargué desde acá:


Saludos.

Rafael Morales

unread,
Oct 13, 2014, 9:49:51 AM10/13/14
to publice...@googlegroups.com
Gracias Angel, desde ese link si se pudo descargar. 
--
Rafael Morales

Ivan Aguirre

unread,
Jun 12, 2017, 6:51:07 PM6/12/17
to Comunidad de Visual Foxpro en Español
Estimados.    Estaba viendo de mejorar una interface donde uso y he abusado de la vieja clase toolbar  que todos conocemos.  ¿Hay algo más nuevo que podamos usar?

Encontré este viejo post, pero el sitio web indicado ya no existe.

Fue incorporado en sedna o en algún otro proyecto?  Funcionaba bien?

Agradeceré cualquier pista.


http://www.ctl32.com.ar/tbz/tbz.html


ZeRoberto

unread,
Jun 12, 2017, 6:55:07 PM6/12/17
to publicesvfoxpro
Ya no existe la pagina de Carlos Alloati

Víctor Hugo Espínola Domínguez

unread,
Jun 12, 2017, 8:12:59 PM6/12/17
to publice...@googlegroups.com
Date un paseo por este blog, encontrarás verdaderas maravillas de efectos visuales puro VFP.

Saludos,
Víctor.
Lambaré - Paraguay.

Ivan Aguirre

unread,
Jun 12, 2017, 8:53:44 PM6/12/17
to Comunidad de Visual Foxpro en Español
Muchas gracias, ya las estoy viendo.    :)

Un tema,  me puse a ver, FOXRIBBON  de Guillermo Carrero,   alguien las ha usado?   Parecen muy interesante, y ha logrado cosas que casi me parecian inviables...

Francisco

unread,
Jun 14, 2017, 10:42:14 AM6/14/17
to Comunidad de Visual Foxpro en Español
Has visto FoxyRb es sencilla y puedes hacer grandes cosas.

Reply all
Reply to author
Forward
0 new messages