Page 1 of 1

Pregunta sobre la clase nueva ButtonBmp

Posted: Mon Apr 17, 2006 4:55 am
by jose_murugosa
he estado tratando de trabajar con esta nueva clase, :shock: el 30 de marzo, bajé unas modificaciones hechas a la clase recibidas de Antonio (los archivos Fivewin.ch y Buttonb.prg) Copié el primero en mi directorio .\fwh\include reemplazando el anterior y luego compilé mi aplicación incluyendo el segundo en la lista de archivos.

Me da el siguiente problema:
Tengo una dialog en una dll que tiene un grupo de botones (definidos como button tal como lo pide la clase.

Los íconos inactivos (disable) se ven en blanco y negro, pero los activos no se ven.

Al pulsar el botón, si mantengo el botón del mouse pulsado puedo ver la imagen en colores del botón (el bitmap) pero si no no puedo ver el bitmap, solo veo el botón, que se comporta como un botón xp (con _ de tonalidades). :oops:

Que puede ser el problema?
Alguien me puede tirar una idea? :idea:

Posted: Mon Apr 17, 2006 6:14 am
by Antonio Linares
Jose,

Puedes proporcionar un ejemplo pequeño y autocontenido que lo reproduzca ? gracias

Posted: Mon Apr 17, 2006 7:27 am
by jose_murugosa
Antonio,
Ya descubrí el problema, no creo sea un defecto sino un erro mío.

Este defecto que mencioné se produce si el botón es más pequeño que el bitmap (en mi caso 1/2 milímetro en el ancho), corregido dicho error el bitmap se ve perfectamente en todos los estados.

Lo que me confundía es que se viera cuando está deshabilitado.

Se los comento pensando en que pueda ser de utilidad para otros colegas.

Gracias de todos modos por tu buena voluntad de ayudarme......y a propósito ¿Nunca duermes?....

Un fuerte abrazo. :D

Posted: Mon Apr 17, 2006 8:04 am
by jose_murugosa
Una nueva consulta:

Necesito que uno de los botones (buttonbmp) cambie de bitmap, es un botón que puede borrar y recuperar un registro, al borrar cambia el bitmap indicando que al presionarlo recupera el registro y al recuperar vuelve al estado anterior (indicando que borra), yo lo tenía instrumentado con btnbmp con el método Loadbitmap pero no me funciona con esta nueva clase.

Como puedo hacerlo? :oops:

Posted: Mon Apr 17, 2006 9:21 am
by Antonio Linares
Jose,

Añádele este método a la clase TButtonBmp:

Code: Select all

METHOD LoadBitmap( cBmpName ) CLASS TButtonBmp

   if ! Empty( ::hBitmap )
      DeleteObject( ::hBitmap )
      ::hBitmap = nil
   endif
   
   ::cBitmap = cBmpName
   
   if File( cBmpName )
      ::hBitmap = ReadBitmap( 0, cBmpName )
   else
      ::hBitmap = LoadBitmap( GetResources(), cBmpName )
   endif
   
return nil      
No, nunca duermo :)

Posted: Mon Apr 17, 2006 3:11 pm
by jose_murugosa
Gracias, lo acabo de implementar y funcionó perfecto!!!

Otra consulta

Posted: Mon Apr 17, 2006 10:59 pm
by jose_murugosa
Es posible implementar como en los toolbars que se pueda ver un texto debajo del bitmap con Buttonbmp?

Intenté hacerlo y no tuve resultados, el texto aparece pero centrado detrás del bmp y no lo pude acomodar abajo con "textbottom"

Apreciaré cualquier ayuda.....