Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Imagen de portapapeles a QRImage

Tengo este código:
Código:
void __fastcall TfPersona::PerFicClick(TObject *Sender)
{
     Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
     HDC hdcSrc = GetWindowDC(this->Handle);

     pBitmap->Width  = this->Width;
     pBitmap->Height = this->Height;
     BitBlt(pBitmap->Canvas->Handle, 0, 0, pBitmap->Width, pBitmap->Height, hdcSrc, 0, 0, SRCCOPY);
     Clipboard()->Assign(pBitmap);

     ReleaseDC(this->Handle, hdcSrc);

     if (Clipboard()->HasFormat(CF_BITMAP))
     {
          Application->CreateForm(__classid(TfFicPer), &fFicPer);

          Clipboard()->Open();
          pBitmap->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP), 0);
          Clipboard()->Close();

          fFicPer->QRImage2->Picture->Assign(pBitmap);
          cReportTitle = "FICHA PERSONAL " + Nombre->Text + " " + Apellidos->Text;
          fFicPer->qFicPer->Preview();
          delete fFicPer;
     }
     delete pBitmap;
     this->SetFocus();
}
para volcar un copia de pantalla en un QucikReport a través del portapapeles. He comprobado que en el mismo sí está la imagen pero al hacer el Preview me sale el formulario en blanco. ¿Alguna idea?
Responder Con Cita
  #2  
Antiguo 30-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Probe tu código y funciona de forma correcta, solo lo modifiqué un poco para darle reusabilidad:
Código PHP:
...
#include<clipbrd.hpp>
...

void WinCtrlToClipboardTWinControl *wCtrl )
{
  
TClipboard *cb Clipboard();
  
Graphics::TBitmap *bmp = new Graphics::TBitmap;
  
HDC hdc GetWindowDCwCtrl->Handle );

  
bmp->Width  wCtrl->Width;
  
bmp->Height wCtrl->Height;
  
BitBltbmp->Canvas->Handle00bmp->Widthbmp->Heighthdc00SRCCOPY );
  
cb->Assignbmp );

  
ReleaseDCwCtrl->Handlehdc );
  
delete bmp;

Ejemplo de uso:
Código PHP:
void __fastcall TForm1::Button1Click(TObject *Sender)
{

  if ( 
fFicPer == NULL 
    
fFicPer = new TfFicPerNULL );
  
Graphics::TBitmap *dest fFicPer->QRImage1->Picture->Bitmap;

  
WinCtrlToClipboardthis );
  
dest->LoadFromClipboardFormatCF_BITMAPClipboard()->GetAsHandle(CF_BITMAP), );
  
fFicPer->qFicPer->Preview();

  
delete fFicPer;
  
fFicPer NULL;

Form:


Preview:


Declaré el parámetro de modo que la función pueda recibir cualquier descendiente de TWinControl, de modo que las siguientes llamadas tambien son correctas:
Código PHP:
  WinCtrlToClipboardPanel1 );
  ...
  
WinCtrlToClipboardEdit3 );
  ... 
  
WinCtrlToClipboardButton1 );
  ... 
Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 31-12-2016 a las 01:51:43. Razón: Desglosar función WinCtrlToClipboard
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imagen en QRImage no se muestra completa Mechita Impresión 13 13-12-2013 19:08:24
Pegar imagen desde el Portapapeles (Clipboard) gluglu Gráficos 8 20-10-2010 15:09:55
Poner imagen en Timage desde portapapeles gabyzava Gráficos 3 24-09-2010 18:01:44
Qrimage, la imagen se imprime negra si muevo el heigth de un qrstringband CarlosHernandez Impresión 0 26-05-2007 00:20:48
Cargar la misma imagen en varios QRImage molina669 Gráficos 0 03-11-2006 11:50:17


La franja horaria es GMT +2. Ahora son las 10:12:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi