You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++Builder中如何将多个字符串粘贴到TMemo并实现自动分行显示

问题核心原因

粘贴后仅显示单行是两个常见错误导致:

  • 拼接多行内容时未使用Windows标准换行符\r\n(CRLF),仅使用\n或\r单类换行符,TMemo无法识别单种换行符作为行分隔
  • 剪贴板写入时未使用标准文本格式
解决方案(C++ Builder VCL场景)

1. 拼接符合格式的文本

将vector中的每一项用\r\n拼接即可:

#include <vector>
#include <Vcl.Clipbrd.hpp>

// 你的TListView导出的字符串vector
std::vector<String> listContent;
String targetText;

for (size_t i = 0; i < listContent.size(); i++) {
    targetText += listContent[i];
    // 末尾项不加多余换行
    if (i != listContent.size() - 1) {
        targetText += _T("\r\n");
    }
}

2. 写入剪贴板

直接调用VCL内置剪贴板类写入:

Clipboard()->Clear();
Clipboard()->AsText = targetText;

3. TMemo粘贴验证

如果手动实现粘贴逻辑,直接读取剪贴板文本赋值即可:

if (Clipboard()->HasFormat(CF_TEXT)) {
    Memo1->Text = Clipboard()->AsText;
}

内容的提问来源于stack exchange,提问作者user2113260

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:45:04