Olá pessoal, hoje venho mostrar uma rotina interessante para aqueles que querem trabalhar com mensagens do sistema operacional. Como sabemos o sistema operacional conversa através de mensagens, e o Delphi consegue interpretar, capturar, entender estas mensagens. Vou fazer uma simulação bem simples desta vez.
Vamos precisar de um Formulário e nele um TRichEdit
Esta bem simples pois o objetivo não é o layout mas sim a funcionalidade.
Neste momento vamos dar uses na unit Clipbrd
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Clipbrd;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Clipbrd;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
private
{ Private declarations }
procedure ClipBoardChanged(var Message: TMessage); message WM_DRAWCLIPBOARD;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Clipbrd;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
private
{ Private declarations }
procedure ClipBoardChanged(var Message: TMessage); message WM_DRAWCLIPBOARD;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ClipBoardChanged(var Message: TMessage);
begin
end;
end.
procedure TForm1.ClipBoardChanged(var Message: TMessage);
begin
ShowMessage('Houve mudança no CTRL + C');
RichEdit1.Text := Clipboard.AsText;
end;
Este código irá apresentar um ShowMessage com uma mensagem e o texto que foi copiado irá ser exibido dentro do RichEdit.
procedure TForm1.FormCreate(Sender: TObject);
begin
SetClipboardViewer(Handle);
end;
Concluindo assim nosso artigo, sempre que seu formulário estiver aberto e você copiar um determinado texto o mesmo será adicionado dentro do TRichEdit.