Ver Mensaje Individual
  #7  
Antiguo 28-02-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 de nuevo.

A ver de este modo entonces...
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    FChgHwnd : THandle;
    procedure WMDrawClipboard(var Msg: TMessage) ; message WM_DRAWCLIPBOARD;
    procedure WMChangeCBChain(var Msg: TMessage) ; message WM_CHANGECBCHAIN;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

uses  Clipbrd;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Clipboard.Clear;
  FChgHwnd := SetClipboardViewer(Handle) ;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  ChangeClipboardChain(Handle, FChgHwnd) ;
end;

//----------------------------------------------------------------------------

procedure TForm1.WMChangeCBChain(var Msg: TMessage);
begin
  if FChgHwnd = Msg.WParam then
    FChgHwnd := Msg.LParam
  else if FChgHwnd <> 0 then
    SendMessage(FChgHwnd, WM_CHANGECBCHAIN, Msg.WParam, Msg.LParam);
end;

procedure TForm1.WMDrawClipboard(var Msg: TMessage);
begin
  if Clipboard.HasFormat(CF_TEXT) then
  begin
   Memo1.Lines.Clear;
   Memo1.Text := Clipboard.AsText;
  end;
  if FChgHwnd <> 0 then
   SendMessage(FChgHwnd, WM_DRAWCLIPBOARD, 0, 0)
end;

end.

Saludos
__________________
Daniel Didriksen

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