Mauricio,
Las imágenes que yo uso no tienen fondo gris, como el fondo de los botones, sino verde oliva, por eso le asigno a la propiedad MaskColor el valor de clOlive, es decir, el color que indique esa propiedad se convertirá en transparente, independientemente del color de fondo (botones, barras, etc, etc). Mira la imagen que adjunto de Windows98 con colores cambiados. No olvides que esa propiedad no se puede asignar desde el IDE, por eso cuando uses imágenes no te olvides de asignarla por código, por ejemplo en el evento OnCreate o OnShow del formulario. Este es el código del ejemplo:
#include "Form1.frm"
/*
* Evento OnShow.
*/
METHOD Form1OnShow( oSender ) CLASS TForm1
local nlevel1, nLevel2
::Image1:Picture:Bitmap:MaskColor := clOlive
::TreeView1:ImageList:Images := { "MINISOBRE", "CARPETASLOCALES", ;
"BENTRADA", "BSALIDA", "EENVIADOS", ;
"EBORRADOS", "BORRADOR" }
nLevel1 := ::TreeView1:InsertItem( 0, "Outlook Express", 1 )
nLevel2 := ::TreeView1:InsertItem( nLevel1, "Carpetas locales", 2 )
::TreeView1:InsertItem( nLevel2, "Bandeja de entrada", 3 )
::TreeView1:InsertItem( nLevel2, "Bandeja de salida", 4 )
::TreeView1:InsertItem( nLevel2, "Elementos enviados", 5 )
::TreeView1:InsertItem( nLevel2, "Elementos eliminados", 6 )
::TreeView1:InsertItem( nLevel2, "Borrador", 7 )
::TreeView1:Expand( nLevel1 )
::TreeView1:Expand( nLevel2 )
Application:OnShowHint := { | cHint | ::FStatus:Caption := If( Empty( cHint ), ;
"0 mensajes, 0 no leídos", cHint ) }
return
_________________ Un saludo,
Bruno Cantero
www.c3compiler.com
|