请问下面这段代码能够实现将一个编辑框里面的文本到剪切板里面吗

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:20:27
void CblordDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
if(OpenClipboard())
{
CString str;
HANDLE hClip;
char *pBuf;
EmptyClipboard();
GetDlgItemText(IDC_EDIT_SEND,str);
hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);
pBuf=(char*)GlobalLock(hClip);
//str.Format(_T("%s"), pBuf);
strcpy(pBuf,(char*)(LPCTSTR)str);

GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
CloseClipboard();
}
}

为什么运行后粘贴总是编辑框里面的第一个字符呢,图片是运行状态,点击按钮后到记事本里面粘贴只看见一个h

问题出在郁闷的unicode上
试试wcscpy((wchar_t *)pBuf,str);

看不太懂。。。

C#里面的剪贴操作只需在按钮里添加一句话。。。
private void button1_Click(object sender, EventArgs e)
{
//剪贴函数
textBox1.Cut();
}
private void button1_Click(object sender, EventArgs e)
{
//撤销函数
textBox1.Undo();
}
private void button1_Click(object sender, EventArgs e)
{
//复制函数
textBox1.Copy();
}
private void button1_Click(object sender, EventArgs e)
{
//粘贴操作
textBox1.Paste();
}