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.
Cambios en BtnBmp (Manuel)
Cambios en BtnBmp (Manuel)
Un Saludo,
Joaquín Martínez
Joaquín Martínez
Re: Cambios en BtnBmp (Manuel)
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)
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,
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,
Un Saludo,
Joaquín Martínez
Joaquín Martínez
Re: Cambios en BtnBmp (Manuel)
Buenas de nuevo ...
Perdon por el codigo anterior , las prisas ...
Realmente era esto :
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 ...
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 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)
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.
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
Joaquín Martínez
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Cambios en BtnBmp (Manuel)
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!
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!