Page 1 of 1
Cambios en BtnBmp (Manuel)
Posted: Tue Sep 23, 2014 3:01 pm
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 _ 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.
Re: Cambios en BtnBmp (Manuel)
Posted: Tue Sep 23, 2014 7:39 pm
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
METHOD Disable() INLINE ::hBitmap3 := IF(::hBitmap3=0 , if (::ldisableBmp, BMP2DIS(::hBitmap1), ::hBitmap1 ) , ::hBitmap3 ) , ::Super:Disable(), ::Refresh()
Re: Cambios en BtnBmp (Manuel)
Posted: Tue Sep 23, 2014 9:35 pm
by jmartial
Manuel,
La Data no sè para que se usaría, porque cuando desabilito es porque lo quiero grisàceo.
Quizàs en _ podría ser útil, pero no se me dado el caso.
Gracias,
Re: Cambios en BtnBmp (Manuel)
Posted: Wed Sep 24, 2014 7:04 am
by mastintin
Buenas de nuevo ...
Perdon por el codigo anterior , las prisas ...
Realmente era esto :
Code: Select all
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 ...
Re: Cambios en BtnBmp (Manuel)
Posted: Wed Sep 24, 2014 7:19 am
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.
Re: Cambios en BtnBmp (Manuel)
Posted: Wed Sep 24, 2014 12:24 pm
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!