MFC 实现复制功能 Ctrl+C Ctrl+V 功能

点击一个按钮,实现复制功能、粘贴功能;复制时就是把所选内容保存到剪贴板上,粘贴就是把剪切板的内容取出来;

参考:http://wenwen.soso.com/z/q185121631.htm

如果文本框ID是 IDC_TEXT,

按钮我相信双击可以进去一个函数,是响应点击的

里面写:

CString source("");

GetDlgItemText(IDC_TEXT, source);


if(OpenClipboard())  
{  
  HGLOBAL   clipbuffer;  
  char   *   buffer;  
  EmptyClipboard();  
  clipbuffer   =   GlobalAlloc(GMEM_DDESHARE,   source.GetLength()+1);  
  buffer   =   (char*)GlobalLock(clipbuffer);  
  strcpy(buffer,   LPCSTR(source));  
  GlobalUnlock(clipbuffer);  
  SetClipboardData(CF_TEXT,clipbuffer);  
  CloseClipboard();  
}  
  char   *   buffer;  
if(OpenClipboard())  
{  

  buffer   =   (char*)GetClipboardData(CF_TEXT);  
  //do   something   with   buffer   here    
  //before   it   goes   out   of   scope  
}  
   
  CloseClipboard();  

 

void CListLink::CopyLink()
{
 // 复制地址 保存到剪切板上
 int nposition=m_pListLink->m_list.GetSelectionMark();
 CString szContentAddress=m_pListLink->m_list.GetItemText(nposition,1);
 if(OpenClipboard())  
 {  
  HGLOBAL clipbuffer;  
  char *buffer;  
  EmptyClipboard();  
  clipbuffer=GlobalAlloc(GMEM_DDESHARE,szContentAddress.GetLength()+1);  
  buffer=(char*)GlobalLock(clipbuffer);  
  strcpy(buffer,(char*)&szContentAddress);  
  GlobalUnlock(clipbuffer);  
  SetClipboardData(CF_TEXT,clipbuffer);  
  CloseClipboard();  
 }     
}
szContentAddress  为要复制的内容;

 

你可能感兴趣的:(MFC 实现复制功能 Ctrl+C Ctrl+V 功能)