ããã«ã¡ã¯ã
现å·ã§ãã
æãã VCL.Clipbrd ã® Clipboard ã ãšæããŸãã®ã§ãVCL ã® Clipboard ã«ã€ããŠèª¬æããŸãã
VCL.Clipbrd.TClipboard ã® SetAsText (SetBuffer) ã®å®è£
ã¯æšªçããŠããŠ
EmptyClipboard ãåŒãã§ããŸããã
æ¬æ¥ã¯ MS ã®ãµã€ã(â»)ã§ãããããã« SetClipboardData ãåŒã¶åã« EmptyClipboard ãåŒã¶å¿
èŠããããŸãã
EmptyClipboard ãåŒã°ãªããŠãæŠãäžæãè¡ãã®ã§ãããããã¯ãå¶ç¶ãã§ãã
äŸãã°ãClipboard 远跡ããã°ã©ã ãå
¥ã£ãŠããå Žåã¯å€±æããå¯èœæ§ããããŸãã
TClipboard.Clear ãåŒã¶ãšæåããïŒããŸã«å€±æããïŒãšããã®ã¯ Clear ã§ EmpltyClipboard ãåŒã°ããŠããããã§ãã
çµ¶å¯Ÿã«æåãããããã«ã¯ OpenClipboard / CloseClipboard ã«å²ãŸããäžã§ EmptyClipboard
åŒã³ãSetClipboardData ãåŒã¶ã³ãŒããèªäœããªããã°ãããŸããã
ããšãã°ãâã®ãããªåœ¢ã«ãªããŸãã
procedure TClipboardHelper.SetTextToClip(const AText: String);
begin
if OpenClipboard(FHandle) then // FHandle 㯠HWND
begin
try
EmptyClipboard;
var Data := GlobalAlloc(GMEM_MOVEABLE, Length(AText) *
SizeOf(Char) + 1);
if Data <> 0 then
begin
try
var DataPtr := GlobalLock(Data);
try
Move(PChar(AText)^, DataPtr^, GlobalSize(Data));
SetClipboardData(CF_UNICODETEXT, Data);
finally
GlobalUnlock(Data);
end;
except
GlobalFree(Data);
end;
end;
finally
CloseClipboard;
end;
end;
end;
â»
https://learn.microsoft.com/ja-jp/windows/win32/dataxchg/using-the-clipboard
2023幎7æ19æ¥(æ°Ž) 10:24 Eiichiro Kamiya <
eiichir...@gmail.com>:
> --
> ãã®ã¡ãŒã«ã¯ Google ã°ã«ãŒãã®ã°ã«ãŒããJapan RAD Studio User Groupãã«ç»é²ããŠãããŠãŒã¶ãŒã«éãããŠããŸãã
> ãã®ã°ã«ãŒãããéäŒããã°ã«ãŒãããã®ã¡ãŒã«ã®é
ä¿¡ã忢ããã«ã¯
radstudio-jp...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> ãã®ãã£ã¹ã«ãã·ã§ã³ããŠã§ãäžã§é²èЧããã«ã¯
https://groups.google.com/d/msgid/radstudio-jp/CAA1D39Q%3DEfhix7L9Zb%3Dpy0t2wLFbSdMeD8rd%2BAO1yGPSuPvd3g%40mail.gmail.com ã«ã¢ã¯ã»ã¹ããŠãã ããã