Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Copiar un formulario al portapapeles en tiempo de ejecución (https://www.clubdelphi.com/foros/showthread.php?t=85019)

Angel.Matilla 14-01-2014 18:39:30

Copiar un formulario al portapapeles en tiempo de ejecución
 
En tiempo de ejecución ¿Cómo podría copiar el formulario activo al portapapeles para pegarlo luego en otro sitio? Estoy usando C++ 6.

ecfisa 14-01-2014 22:24:20

Hola Angel.

Código:

#include <clipbrd.hpp>

void WinCtrlToClipbrd(TWinControl *aWinCtrl)
{
  HDC hdcSrc = GetWindowDC(aWinCtrl->Handle);
  Graphics::TBitmap *BM = new Graphics::TBitmap;

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

  ReleaseDC(aWinCtrl->Handle, hdcSrc);
  delete BM;
}

Ejemplo de uso:
Código:

  WinCtrlToClipbrd(Form1);
  WinCtrlToClipbrd(Memo1);
  // etc ...

Saludos :)

Angel.Matilla 15-01-2014 10:20:46

Muchísimas gracias.


La franja horaria es GMT +2. Ahora son las 13:14: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