Programmeerimine: vana hea clipboard hook

Tegemist koodiga, mis koheselt kuvab clipboardi sisu, kui kusagil programmis aka Ctrl+C/kontekstimenüüst valiti Copy. Olin natuke laisk, võtsin näitesse vaid CF_TEXT ja CF_HTML formaadid.


...
procedure TForm1.WMDrawClipboard(var Msg:TMessage);
begin

if FNChain 0 then
SendMessage(FNChain, WM_DrawClipboard, 0, 0);

if Clipbrd.Clipboard.HasFormat(CF_TEXT) or Clipbrd.Clipboard.HasFormat(FCF_HTML) then
Memo1.Lines.Add(Clipbrd.Clipboard.AsText);

end;

procedure TForm1.WMChangeCBChain(var Msg: TMessage);
var
Remove, Next: THandle;
begin
Remove := Msg.WParam;
Next := Msg.LParam;
with Msg do
if FNChain = Remove then
FNChain := Next
else
if FNChain 0 then
SendMessage(FNChain, WM_ChangeCBChain, Remove, Next)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FNChain:=SetClipboardViewer(self.Handle);
FCF_HTML:=RegisterClipboardFormat('HTML Format');
end;

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

Lähtekood ja binary siin

Advertisements

Lisa kommentaar

Täida nõutavad väljad või kliki ikoonile, et sisse logida:

WordPress.com Logo

Sa kommenteerid kasutades oma WordPress.com kontot. Logi välja /  Muuda )

Google+ photo

Sa kommenteerid kasutades oma Google+ kontot. Logi välja /  Muuda )

Twitter picture

Sa kommenteerid kasutades oma Twitter kontot. Logi välja /  Muuda )

Facebook photo

Sa kommenteerid kasutades oma Facebook kontot. Logi välja /  Muuda )

w

Connecting to %s


%d bloggers like this: