剪贴板操作

来源:互联网 发布:怎么用excel筛选数据 编辑:程序博客网 时间:2024/04/29 18:50

鼠标选中一段字符点击按钮copy到剪贴板

CString strtxt,str;
 int istart,iend;
 m_add.GetWindowText(strtxt);
 m_add.GetSel(istart,iend);
 if(istart==iend)
  AfxMessageBox("未选中");
 // return;
 str=strtxt.Mid(istart,iend-istart);
 ::OpenClipboard(this->GetSafeHwnd());
 EmptyClipboard();
 HGLOBAL hGlobal=GlobalAlloc(GMEM_FIXED,str.GetLength()+1);
 HANDLE hmem=GlobalLock(hGlobal);
 memcpy(hmem,strtxt.GetBuffer(0),str.GetLength()+1);
 GlobalUnlock(hGlobal);
 SetClipboardData(CF_TEXT,hGlobal);
 CloseClipboard();