Cambios en BtnBmp (Manuel)

Post Reply
jmartial
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Cambios en BtnBmp (Manuel)

Post by jmartial »

Hola Manuel,

He necesitado poner gris los botones y he visto que habíais tenido una buena idea con el código que convierte el BMP1 a gris si no se le pasa
un BMP3.

Pero he visto que habías tocado la clase TBtnBmp en loadBitmaps y creo que en algún sitio más. Le he echado un vistazo y creo que sólo hay que tocar
el método disable. Lo he probado y funciona perfectamente.

Mi pregunta es, ¿lo que se consigue con los cambios que hiciste tiene alguna ventaja con respecto a mi implementación?

Este es el cambio que he hecho, modificar el método disable():

METHOD Disable() INLINE ::hBitmap3 := IF(::hBitmap3=0, BMP2DIS(::hBitmap1) , ::hBitmap3) , ::Super:Disable(), ::Refresh()

Gracias por tus aportaciones.
Un Saludo,
Joaquín Martínez
User avatar
mastintin
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Cambios en BtnBmp (Manuel)

Post by mastintin »

Tu implementación es mejor que la que yo hice , si quieres puedes añadir la data que yo añadí para que puedas regular aún mejor el comportamiento según lo que se desea :

Code: Select all | Expand



METHOD Disable() INLINE   ::hBitmap3 := IF(::hBitmap3=0 , if (::ldisableBmp, BMP2DIS(::hBitmap1), ::hBitmap1 ) , ::hBitmap3 )  , ::Super:Disable(), ::Refresh()

 
jmartial
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Cambios en BtnBmp (Manuel)

Post by jmartial »

Manuel,

La Data no sè para que se usaría, porque cuando desabilito es porque lo quiero grisàceo.

Quizàs en otros casos podría ser útil, pero no se me dado el caso.


Gracias,
Un Saludo,
Joaquín Martínez
User avatar
mastintin
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Cambios en BtnBmp (Manuel)

Post by mastintin »

Buenas de nuevo ...
Perdon por el codigo anterior , las prisas ... :D
Realmente era esto :

Code: Select all | Expand



 METHOD Disable() INLINE   if ( ::lDisableBmp,;
                                ::hBitmap3 := IF(::hBitmap3=0 , BMP2DIS(::hBitmap1),::hBitmap3 ), ), ;
                                ::Super:Disable(), ::Refresh()

 


La data lDisableBmp lo unico de pretende es poder definir si queremos el comportamiento "por defecto" de la clase o el nuevo comportamiento ...
La diferencia en :
Hablamos siempre en el caso de que no se defina un bmp3 ( para deshabilitados ) , al hacer disable() en la clase sin modificar el texto aparece en gris pero el bmp se mantiene en color , si ponemos ldisablebmp a .t. tambien el bmp pasa a gris . En algunas ocasiones puede interesar mantener ese comportamiento ( hasta ahora y a fecha de hoy muchos usuarios lo usan así ) , mantenemos compatibilidad con lo que existe y añadimos nueva función ... :D
jmartial
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Cambios en BtnBmp (Manuel)

Post by jmartial »

Buenos días Manuel,

Gracias por tu explicación, ya entiendo por qué lo pusiste.

Al final, todo es cuestión de compatibilidad, pero poco a poco habría que hacer con FWH como Microsoft, a partir de unos años, por ejemplo 2, poder limpiar
código y dejarlo documentado para que el usuario pueda en 1 día cambiar de una versión más antigua de 2 años, pasar a la actual.

Porque esta compatibilidad tan a largo plazo, creo que hace más difícil avanzar el producto y que el código cada vez está más ilegible con tantos condicionantes.

Bueno, es mi humilde sugerencia.
Un Saludo,
Joaquín Martínez
User avatar
Antonio Linares
Site Admin
Posts: 42508
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 30 times
Been thanked: 72 times
Contact:

Re: Cambios en BtnBmp (Manuel)

Post by Antonio Linares »

Joaquín,

vamos limpiándolo poco a poco y siempre optimizando todo lo que se puede :-)

Lo que ocurre es que FWH es tan grande y cubre tantas cosas que no es fácil hacerlo todo de golpe :-)

Gracias por vuestra ayuda como siempre!
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply