FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Funciona a medias
Hoa Andres, ante todo gracias por responder.
Pues funciona a medias. Te explico en un DBImage puesto sobre el formulario parece ser que lo hace bien y finalmente el color de fondo no aparece. La verdad es que he puesto una pequeña rutina que me devuelve estos tres valores que estamos intentando cambiar del Bitmap y los cambia todos menos el TransparentColor. Con el debugger puedo ver que cuando hace la asignación del TransparentColor, no se produce ningún error pero el valor del TransparentColor no varia, se queda con el mismo valor inicial que ya tenía. Además cuando coloco el DBImage alterado sobre un DBCtrlGrid se va todo al traste y muestra una sola imagen, la del panel que tiene el foco, transparente y el resto aparece con el desagradable fondo verde. Sigo investigando... Saludos.
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
#2
|
|||
|
|||
Hola Aprendiz:
Mirando la implementación de los métodos SetTransparentMode y SetTransparentColor de TBitmap, veo que ambos alteran la otra propiedad mutuamente dependiendo del valor asignado, por lo que quizás estés asignando primero el TransparentColor y si luego asignas un TransparentMode = tmAuto, el TransparentColor vuelve a clDefault. Míralo a ver. Saludos
__________________
Guía de Estilo |
#3
|
|||
|
|||
¡¡ Ufff !! Más cosas.
Ahora veo un fallo aquí, puesto que cada vez que el usuario altere una propiedad "Transparente" de tu componente, este cambio desencadenará inevitablemente un Picture.Changed que a su vez llamará a MiPictureChanged que reasigna todas, por lo que en los métodos SetTransparent, SetTransparentColor y SetTransparentMode tendrías que poner a TRUE el semáforo FCambiando (al terminar lo dejas en FALSE) para que no se dispare cada vez el PictureChanged, seguramente éso es lo que motiva ese comportamiento tan raro. Saludos
__________________
Guía de Estilo Última edición por andres1569 fecha: 16-12-2004 a las 19:17:30. |
#4
|
|||
|
|||
Hola,
No tranquilo, ese error no se produce, recuerda que hemos sacado las asignaciones al Bitmap de los Setters y lo pusimos directamente en MiPictureChanged con lo cual solo se ejecuta, gracias a los semáforos, una sola vez. Saludos. PD: De todas formas ya te digo que funciona, ahora el problema es ponerlo en un DBCtrlGrid y que también funcione para todas las fotos que carga. Esto del Replicate me está volviendo loco.
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
|
|
|