C++ Builder中TEdit中的内容怎么拷贝出来并复制到一个文本文件中

时间:2022-10-18 21:01:58
rt
另TEdit不获得焦点,只支持键盘输入的Ctrl + C和Ctrl + V。

14 个解决方案

#1


#include <vcl/Clipbrd.hpp>

TClipboard *clipBoard=Clipboard();
clipBoard->AsText=Edit1->Text;

#2


“TEdit不获得焦点”这个实在难以理解。

#3


引用 1 楼 bigfog 的回复:
#include <vcl/Clipbrd.hpp>

TClipboard *clipBoard=Clipboard();
clipBoard->AsText=Edit1->Text;

这个是把Edit1的内容复制到剪贴板上。能复制到文本文件里吗?

#4


引用 2 楼 ccrun 的回复:
“TEdit不获得焦点”这个实在难以理解。

有这么一种就是将焦点选在TEdit中,选中要复制的内容,然后按ctrl + C可以复制,但我不是要这种。

#5


越解释越不明白了

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   this->Edit1->CopyToClipboard();
   this->Edit2->PasteFromClipboard();
}

#6


不要说你不要哪种,要说你要哪种.

是不是要右键菜单里面"复制"?

#7


引用 6 楼 hyz_cs 的回复:
不要说你不要哪种,要说你要哪种.

是不是要右键菜单里面"复制"?

就像windows的复制粘贴功能一样,不知道能不能实现。

#8


windows的计算器一样,复制粘贴功能。

#9


你的意思是焦点不在edit上面的时候,也要能够用Ctrl + C和Ctrl + V来复制和粘贴内容到edit上面吗.

这样的话,我只能想到在form的onkeydown事件中处理,更好的办法看其它人有没有.

还是要加个菜单来复制粘贴edit里面的内容? edt1->CopyToClipboard(); ?

#10


引用 9 楼  的回复:
你的意思是焦点不在edit上面的时候,也要能够用Ctrl + C和Ctrl + V来复制和粘贴内容到edit上面吗.

这样的话,我只能想到在form的onkeydown事件中处理,更好的办法看其它人有没有.

还是要加个菜单来复制粘贴edit里面的内容? edt1->CopyToClipboard(); ?


焦点不在edit上面的时候,也要能够用Ctrl + C来复制edit里的内容,然后要粘贴到文本文件(.txt)中。
不加别的菜单。

#11


我能想到的方法就是在 form中(焦点不在edit上应该是在form中吧)的onkeydown上检测 Ctrl + C ,然后把edit的内容复制到剪贴板中.

#12


引用 11 楼  的回复:
我能想到的方法就是在 form中(焦点不在edit上应该是在form中吧)的onkeydown上检测 Ctrl + C ,然后把edit的内容复制到剪贴板中.


那这么说用edit1->CopyToClipboard()将edit1的内容复制出来(是复制在Windows系统的剪贴板中了吗?),只要再按键盘上的Ctrl+V,在哪里(.txt或.xls文件中)都可以实现粘贴?

#13


这个自己试一下很简单的吧...为什么不自己试一下呢?

edt1->SelectAll();
edt1->CopyToClipboard() ;

#14


引用 13 楼  的回复:
这个自己试一下很简单的吧...为什么不自己试一下呢?

edt1->SelectAll();
edt1->CopyToClipboard() ;

我已经做出来了,就是用上面的方法。仍然很感谢!
你说的很对!我前面以为使用CopyToClipboard方法只能在本程序中用,后来发现能复制到 系统的剪切板中。没试成功是因为在C++ Builder中用的是if(ssCtrl   in   Shift)判断,而且没用对方法(我用的是FormKeyPress方法,又不清楚Shift还是一个变量),所以老是报错。

#1


#include <vcl/Clipbrd.hpp>

TClipboard *clipBoard=Clipboard();
clipBoard->AsText=Edit1->Text;

#2


“TEdit不获得焦点”这个实在难以理解。

#3


引用 1 楼 bigfog 的回复:
#include <vcl/Clipbrd.hpp>

TClipboard *clipBoard=Clipboard();
clipBoard->AsText=Edit1->Text;

这个是把Edit1的内容复制到剪贴板上。能复制到文本文件里吗?

#4


引用 2 楼 ccrun 的回复:
“TEdit不获得焦点”这个实在难以理解。

有这么一种就是将焦点选在TEdit中,选中要复制的内容,然后按ctrl + C可以复制,但我不是要这种。

#5


越解释越不明白了

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   this->Edit1->CopyToClipboard();
   this->Edit2->PasteFromClipboard();
}

#6


不要说你不要哪种,要说你要哪种.

是不是要右键菜单里面"复制"?

#7


引用 6 楼 hyz_cs 的回复:
不要说你不要哪种,要说你要哪种.

是不是要右键菜单里面"复制"?

就像windows的复制粘贴功能一样,不知道能不能实现。

#8


windows的计算器一样,复制粘贴功能。

#9


你的意思是焦点不在edit上面的时候,也要能够用Ctrl + C和Ctrl + V来复制和粘贴内容到edit上面吗.

这样的话,我只能想到在form的onkeydown事件中处理,更好的办法看其它人有没有.

还是要加个菜单来复制粘贴edit里面的内容? edt1->CopyToClipboard(); ?

#10


引用 9 楼  的回复:
你的意思是焦点不在edit上面的时候,也要能够用Ctrl + C和Ctrl + V来复制和粘贴内容到edit上面吗.

这样的话,我只能想到在form的onkeydown事件中处理,更好的办法看其它人有没有.

还是要加个菜单来复制粘贴edit里面的内容? edt1->CopyToClipboard(); ?


焦点不在edit上面的时候,也要能够用Ctrl + C来复制edit里的内容,然后要粘贴到文本文件(.txt)中。
不加别的菜单。

#11


我能想到的方法就是在 form中(焦点不在edit上应该是在form中吧)的onkeydown上检测 Ctrl + C ,然后把edit的内容复制到剪贴板中.

#12


引用 11 楼  的回复:
我能想到的方法就是在 form中(焦点不在edit上应该是在form中吧)的onkeydown上检测 Ctrl + C ,然后把edit的内容复制到剪贴板中.


那这么说用edit1->CopyToClipboard()将edit1的内容复制出来(是复制在Windows系统的剪贴板中了吗?),只要再按键盘上的Ctrl+V,在哪里(.txt或.xls文件中)都可以实现粘贴?

#13


这个自己试一下很简单的吧...为什么不自己试一下呢?

edt1->SelectAll();
edt1->CopyToClipboard() ;

#14


引用 13 楼  的回复:
这个自己试一下很简单的吧...为什么不自己试一下呢?

edt1->SelectAll();
edt1->CopyToClipboard() ;

我已经做出来了,就是用上面的方法。仍然很感谢!
你说的很对!我前面以为使用CopyToClipboard方法只能在本程序中用,后来发现能复制到 系统的剪切板中。没试成功是因为在C++ Builder中用的是if(ssCtrl   in   Shift)判断,而且没用对方法(我用的是FormKeyPress方法,又不清楚Shift还是一个变量),所以老是报错。