c++builde6如何才能实现把字符串复制到剪贴板 - C++ Builder / Windows SDK/API
很简单的一个功能。
比如得到一个字符串变量
String straaa="1234565";
然后在Button1Click事件中加入代码。
功能就是把straaa中的内容复制到剪贴板,然后再别的地方直接按Ctrl+V就能实现粘贴。
还请各位大侠指教。
[解决办法]
void __fastcall CopyToClipboard(AnsiString Data){ if (!OpenClipboard(NULL)) return; EmptyClipboard(); HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (Data.Length() + 1) * sizeof(Data[1])); char * lptstrCopy = (char *)GlobalLock(hglbCopy); memcpy(lptstrCopy, Data.c_str(),Data.Length()); lptstrCopy[Data.Length()] = '\0'; GlobalUnlock(hglbCopy); SetClipboardData(CF_TEXT,hglbCopy); CloseClipboard();}
[解决办法]
#include <clipbrd.hpp>void __fastcall TForm1::Button1Click(TObject *Sender){ String straaa="1234565"; Clipboard()->AsText = straaa;}
[解决办法]
// 间接方法void __fastcall TForm1::Button1Click(TObject *Sender){ TMemo *mm = new TMemo(this); String straaa = "1234565"; mm->Lines->Add(straaa); mm->CopyToClipboard(); delete mm;}