我用MFC写的程序,其中有对剪切板进行操作。代码如下: CString LabelStr;
TCHAR *pChar;
HGLOBAL hglbCopy; LabelStr = TEXT("hpp1981 is good man"); hglbCopy= GlobalAlloc(GHND | GMEM_SHARE,(LabelStr.GetLength()+1)*sizeof(TCHAR) );
pChar =(TCHAR *)::GlobalLock(hglbCopy); strcpy(pChar,LabelStr.GetBuffer());
::GlobalUnlock(hglbCopy);
if ( !OpenClipboard() )
{
AfxMessageBox( TEXT("Cannot open the Clipboard") );
return;
} if( !EmptyClipboard() )
{
AfxMessageBox( TEXT("Cannot empty the Clipboard") );
return;
} if ( ::SetClipboardData( CF_TEXT, pChar ) == NULL )
{
AfxMessageBox( TEXT("Unable to set Clipboard data") );
::CloseClipboard();
}
::CloseClipboard();
GlobalFree(pChar);
pChar = NULL;
return;然后会出现下面的问题:
我在别的程序中粘贴(比如新建一个记事本文件),则可以把"hpp1981 is good man"这句话粘贴过去,但是在本身的程序中却不行,比如,我的程序中有一个CEdit控件,我在其中粘贴,不能把那句话粘贴过去。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货