我们在代码库中添加的剪辑板代码非常低级 - 分配全局内存等等.对于简单的情况我只想在剪贴板上放一些纯文本,有没有可以包装所有东西的例程?
一个例子是CRichEditCtrl具有Copy()和Cut()方法,这些方法会自动将当前选择放在剪贴板上.MFC是否可以单独使用这种功能?
更新:根据mwigdahl的回复创建了一个新问题
不,但是自己包装起来并不难.改编自Frost Code(和未经测试的):
void SetClipboardText(CString & szData)
{
HGLOBAL h;
LPTSTR arr;
h=GlobalAlloc(GMEM_MOVEABLE, szData.GetLength()+1);
arr=(LPTSTR)GlobalLock(h);
strcpy_s((char*)arr, szData.GetLength()+1, szData.GetBuffer());
szData.ReleaseBuffer();
GlobalUnlock(h);
::OpenClipboard (NULL);
EmptyClipboard();
SetClipboardData(CF_TEXT, h);
CloseClipboard();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4331 次 |
| 最近记录: |