Ahora mismo el codigo lo tengo así:
Código PHP:
void __fastcall TForm2::BitBtnImprimirClick(TObject *Sender)
{
if(imprimiendo == false)
{
imprimiendo = true;
Graphics::TBitmap *bmp;
try
{
bmp = new Graphics::TBitmap();
}
catch(...)
{
Application->MessageBoxA("No hay memoria suficiente. El programa se cerrará.\nCierra otras aplicaciones y vuelve a intentarlo.", "Error", MB_OK |MB_ICONERROR | MB_APPLMODAL);
Application->Terminate();
}
ImageList->GetBitmap(1, bmp);
bmp->TransparentColor = clWhite;
bmp->IgnorePalette = true;
BitBtnImprimir->Glyph->Assign(bmp);
VividReport1->Print();
delete bmp;
}
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)
{
Graphics::TBitmap *bmp;
try
{
bmp = new Graphics::TBitmap();
}
catch(...)
{
Application->MessageBoxA("No hay memoria suficiente. El programa se cerrará.\nCierra otras aplicaciones y vuelve a intentarlo.", "Error", MB_OK |MB_ICONERROR | MB_APPLMODAL);
Application->Terminate();
}
ImageList->GetBitmap(0, bmp);
bmp->TransparentColor = clWhite;
bmp->IgnorePalette = true;
BitBtnImprimir->Glyph->Assign(bmp);
delete bmp;
imprimiendo = false;
}
He probado a borrar el fondo de las imagenes, o sea dejarlos blancos, y sigue haciendo lo mismo, me aparece el fondo.
Tambien va una captura del Gliph del TBitBtn cuando le asigno una imagen en tiempo de diseño y esta aparece bien y del bmp justo antes de asignarlo al Gliph.
Y el link de las imagenes:
https://mega.co.nz/#!Ntc31BZA!A95KnN...l9Q1q_KYdjcGCw