Ver Mensaje Individual
  #11  
Antiguo 22-12-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
A ver, ya di con la solucion pero querria a ver si podeis explicarme porque pasa eso.
El bitbtn es uno solo y si cargo la imagen en el evento oncreate del form se carga con transparencia sin problemas.
El problema viene si intentas cambiar la imagen en ejecucion que entonces no cambia la imagen.
Probé a poner las propiedades del Glyph (Transparent a true, cambiar el color de TransparentColor, cambiar TransparentMode, y otras cosas).
Probé con:
Código PHP:
bitbtn->Glyph->Canvas->Draw(0,0,bmp); 
Eso si que funciona pero hay que usar un TBitmap intermedio.
Despues de tanto comerme la cabeza me di cuenta que con esto funciona perfecto:
Código PHP:
void __fastcall TForm2::FormCreate(TObject *Sender)
{
   
ImageList->GetBitmap(0BitBtnImprimir->Glyph);
}
//---------------------------------------------------------------------------

void __fastcall TForm2::BitBtnImprimirClick(TObject *Sender)
{
   if(
imprimiendo == false)
   {
      
imprimiendo true;
      
BitBtnImprimir->Glyph NULL;
      
ImageList->GetBitmap(1BitBtnImprimir->Glyph);
      
VividReport1->Print();
   }
   else
   {
      
Application->MessageBoxA("La impresion ya ha sido enviada. Espere a que termine el proceso de envio y vuelve a intentarlo.""Atención"MB_OK |MB_ICONINFORMATION MB_APPLMODAL);
   }
}
//---------------------------------------------------------------------------

void __fastcall TForm2::VividReport1EndPrint(TObject *Sender,
      
TAfterAction &ARepeat)
{
   
BitBtnImprimir->Glyph NULL;
   
ImageList->GetBitmap(0BitBtnImprimir->Glyph);
   
imprimiendo false;

No se porque hay que poner a NULL el Glyph antes de asignarle una nueva imagen para que funcione pero asi funciona y sin eso no funciona. ¿pueden explicarme por que? ¿es correcto lo que hago?
Responder Con Cita