Ver Mensaje Individual
  #2  
Antiguo 20-10-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Fijate si te sirve de este modo:
Código PHP:
void blobToico(TField *field, TIcon* ico)
{
  try {
    if ( 
field->IsNull ) throw Exception("El campo tiene valor nulo");
    
TStream *stream = field->DataSet->CreateBlobStream( field , bmRead );
    try {
      
Graphics::TBitmap *bmp = new Graphics::TBitmap;
      
bmp->LoadFromStream( stream );
      
TImageList* list = new TImageList( bmp->Width, bmp->Height );
      try {
        list->
AddMasked( bmp, bmp->TransparentColor );
        list->
GetIcon( 0, ico );
      }
      
__finally {
        
delete list;
        
delete bmp;
      }
    }
    
__finally {
      
delete stream;
    }
  }
  catch(const 
Exception& E) {
    
MessageBox(0, E.Message.c_str(), "", MB_ICONERROR);
  }
} 
Ejemplo de uso:
Código PHP:
void __fastcall TForm1::btnBlobToIcoClick( TObject *Sender )
{
  
TIcon* ico = new TIcon;

  try {
    
blobToico(IBDataSet1->FieldByName("IMAGE"), ico );
    
Application->Icon->Assign(ico);
  }
  
__finally {
    
delete ico;
  }
} 
Salida del ejemplo:


Agregué un componente imagen para resaltar los cambios, ya que dado el tamaño del ícono en la barra de título, no se visualiza muy bién en la animación.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita