http://www.swissdelphicenter.com/torry/showcode.php?id=640有一个将列表项复制到剪贴板的示例。该代码适用于WIN-XP和Delphi7。不适用于XE7。我猜测16位字符或字符串类型会引起问题,因为列表中的数据来自可处理8位字符的USB外设。
但是代码看起来正确。
最佳答案
复制到剪贴板代码应如下所示:
procedure ListBoxToClipboard(ListBox: TListBox; CopyAll: Boolean);
var
i: Integer;
s: string;
begin
s := '';
for i := 0 to ListBox.Items.Count - 1 do
begin
if CopyAll or ListBox.Selected[i] then
s := s + ListBox.Items[i] + sLineBreak;
end;
ClipBoard.AsText := s;
end;
注意:我从原始代码更改了CopyAll逻辑,因为这对我来说没有多大意义。必须将所有项目复制到剪贴板,或者仅将其复制到剪贴板。 ListBox是否具有MultiSelect应该不会有任何区别。
关于delphi - XE7将文本复制到剪贴板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27562939/