Perdida de Picture en Botones de Comando que se habilitan/deshabilitan

174 views
Skip to first unread message

Ricardo Soldini

unread,
Jun 13, 2023, 6:40:07 PM6/13/23
to Comunidad de Visual Foxpro en Español
Como están Estimados(as)
Les consulto por si a alguien le ocurre la siguiente situación y ha encontrado el motivo para corregirlo

Les comento que uso VFP Advance 10.000.000
Tengo  un Mantenedor básico donde pongo botones de  comandos 
sin Caption y con una imagen asociada al picture
esta imagen están en una carpeta que cuelga de la carpeta donde esta el proyecto
al iniciar el form pongo algunos de esos botones de comado  en enabled=.f. 
los botones y su estado inicial son:
 cmdNuevo.enabled = .t.
cmdEdita.enabled=.t.
cmdBorra.enabled=.t.
cmdCancela.enabled=.f.
cmdGraaba.enabled=.f.

entonces los botones CmdCancela y cmdGraba (es lo raro) se ven gris y me oculta la imagen (en lugar de dejarla degradada) 
al presionar otro boton (cmdNuevo/cmdEdita) 
 que pone 
 cmdNuevo.enabled = .f.
cmdEdita.enabled=.f.
cmdBorra.enabled=.f.
cmdCancela.enabled=.t.
cmdGraaba.enabled=.t.
muestra la imagen correctamente en los que enabled=.t.
y no la muestra en los enabled=.f.



  

Zarlu

unread,
Jun 14, 2023, 11:25:20 AM6/14/23
to Comunidad de Visual Foxpro en Español
Buenos días Ricardo!

Si entendí bien....dices que los demás botones si se muestran como deseas?

Te sugiero entonces...
Cambiar el icono/imagen para hacer pruebas.
Verificar si hay algún código en cmdNuevo/cmdEdita que tenga el nombre de esos botones y los esté afectando

El "color gris" es un efecto normal de los botones desactivados

Suerte
zarlu
Chetumal, Quintana Roo, México

Sin título.png

integral

unread,
Jun 14, 2023, 1:36:52 PM6/14/23
to Comunidad de Visual Foxpro en Español
Estimado Ricardo

Buenos Días :

Te sugiero como prueba cambies las imágenes de los botones que dan ese efecto...

Prueba con otros tipo de archivos de imagen.

En la imagen adjunta utilizo también los Botones sin Texto con imágenes de extensión bmp

Saludos,

Integral

BOTONES SIN TEXTO.jpg

Ricardo Soldini

unread,
Jun 14, 2023, 6:06:21 PM6/14/23
to Comunidad de Visual Foxpro en Español
pantalla_conbmp.bmpeste lo puse con bmp e igual no muestra la imagen como corresponde

pantalla_con_png.bmp
este es el original con png que quedan en gris

Seguire investigando si encuentro la solucion les comentare
pantalla_con_png.bmp

Zarlu

unread,
Jun 14, 2023, 7:16:36 PM6/14/23
to Comunidad de Visual Foxpro en Español
Qué tal Ricardo!

Si esos botones se desactivan, al presionar otro botón entonces creo que no es problema de la imagen sino algo en tu código los desactiva

Suerte

Zarlu
Chetumal, Quintana Roo, México

Ricardo Soldini

unread,
Jun 14, 2023, 8:01:22 PM6/14/23
to Comunidad de Visual Foxpro en Español
Eso es lo que busco pero no que pierda la imagen
es decir  Los Botones  CMDNuevo CMDEdita y CMDBorra  tienen el siguiente codigo
CMDNUEVO.ENABLED=.F.
CMDEDITA.ENABLED=.F.
CMDGRABA.ENABLED=.T.
CMDCANCELA.ENABLED=.T. 
Y lo hace bien pero el dibujo (picture) se pierde no queda en gris o atenuado como es lo usual

adem adem

unread,
Jun 14, 2023, 10:58:44 PM6/14/23
to publice...@googlegroups.com
Hola, no soy experto en VFP , Soy uno mas que le gusta programar y aprender, Bueno, a mi, me ha pasado algo parecido hace tiempo, y me quede googleando por ahí,
buscando una solución, finalmente en un post encontre un codigo, y problema resuelto.
En el evento init del botón coloca este código; pero no puedo explicarte nada mas..;-)

LOCAL lcPNG, loImg as Image
m.lcPNG = THIS.Picture 
THIS.Picture = "" 
m.loImg = CREATEOBJECT("Image") 
TRY 
m.loImg.Picture = m.lcPNG 
THIS.Picture = m.loImg.Picture 
CATCH 
MESSAGEBOX(THIS.Name +[.Init: Error loading "]+ m.lcPNG +["], 16, "Error") 
ENDTRY

ESPERO QUE SEA DE AYUDA, Un saludo..

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/99d2bebf-e38a-4dbe-87c2-42f90fd2b718n%40googlegroups.com.

Ricardo Soldini

unread,
Jun 15, 2023, 7:03:53 PM6/15/23
to Comunidad de Visual Foxpro en Español
Les comento que esta funcion mantiene la imagen cuando el boton esta deshabilitado  no obstante no pone en degrade el boton y se ve igual que cuando esta habilitado (aun cuando no lo esta)  voy a probar con las propiedades  y les comento
LOCAL lcPNG, loImg as Image
m.lcPNG = THIS.Picture 
THIS.Picture = "" 
m.loImg = CREATEOBJECT("Image") 
TRY 
m.loImg.Picture = m.lcPNG 
THIS.Picture = m.loImg.Picture 
CATCH 
MESSAGEBOX(THIS.Name +[.Init: Error loading "]+ m.lcPNG +["], 16, "Error") 
ENDTRY

Marcelo Barberis

unread,
Jun 15, 2023, 9:13:08 PM6/15/23
to publice...@googlegroups.com
cada boton tiene una propiedad disable picture, lo que puedes hacer para que se vea algo mejorado, puedes hacer varias formas, si mantienes el uso de botones, la imagen que pongas create otra imagen igual con algun programa de diseño grafico puede ser photoshop y te creas otra con perfiles de gris con otro nombre imagen_off por ejemplo y esa la pones en la propiedad disable picture, otra forma pues le pones la misma imagen en la propiedad disable picture y la otra alternativa puedes usar un contenedor de imagen y pues ahi pones la imagen como esta nomas y creas el efecto de desactivado.



--
Marcelo Barberis Gutierrez
Sistemas Informaticos
Villa Montes - Bolivia
Telef.: +591-76830544

Reply all
Reply to author
Forward
0 new messages