Hola:
Mirando el código fuente del TDBImage veo que cuando se cambia de registro y por lo tanto se dispara el método DataChanged, en éste se hace Picture.Graphic := nil, lo cual seguramente anula las propiedades de transparencia que tenías.
Se me ocurre que crees un método MiPictureChanged que sustituya al que ya hay, PictureChanged (al no ser virtual no te sirve heredar de éste sino crear otro nuevo) y en el Create se lo asignas al objeto Picture:
Picture.OnChange := MiPictureChanged;
Y en dicho método es donde le asignas al Bitmap los valores de transparencia que tienes almacenados. Me queda la duda de si al asignar esos valores se volverá a lanzar el mismo método (MiPictureChanged) por lo que quizás debas usar un semáforo.
Saludos
|