PDA

Ver la Versión Completa : Convertir un ICO a BITMAP


MON___
28-06-2008, 16:20:49
Mediante este código muestro una imagen ICO en un SpeedButton:

Graphics::TIcon * ICO = new Graphics::TIcon();
try
{
ICO->LoadFromFile("C:\\mi_icono.ico");
SpeedButton1->Glyph->Width = ICO->Width;
SpeedButton1->Glyph->Height = ICO->Height;
SpeedButton1->Glyph->Canvas->Draw(0, 0, ICO);

}
catch(...)
{
ShowMessage("Error al cargar y mostrar la imagen");
}
delete ICO;Se muestra perfectamente la imagen procedente del archivo ICO salvo que el SpeedButton esté deshabilitado (Enabled = FALSE). En éste caso apenas se visualiza unos cuantos pinxeles blanquecinos. ¿Cómo podría conseguir el tipo o efecto propio de las imágenes que se muestran cuando un botón está deshabilitado?

roman
28-06-2008, 19:05:32
Mira este hilo (http://www.clubdelphi.com/foros/showthread.php?t=56869), en el que recientemente hablamos de esto mismo.

// Saludos

MON___
28-06-2008, 21:50:39
Gracias, Roman.
En efecto, la solución es crear una imagen "doble" (para la parte habilitada y la deshabilitada). Ya desde la primera versión de DELPHI se nos suministraba una colección de imágenes dobles, algo que siempre he hecho al crear mis propios recursos.
El que haya realizado esta consulta se debe al disponer una buena colección de iconos (reunidos a lo largo de años) e intentar evitar el trabajo que supone "convertirlos" en una imagen duplicada.
Gracias de nuevo