void CMy001Dlg::OnBnClickedButton1()
{
if(this->OpenClipboard())
{
CString str =_T("剪切板内容!¥#");
wchar_t * pBuf;
EmptyClipboard(); ;
HGLOBAL hClip = (wchar_t )GlobalAlloc(GHND,sizeof(wchar_t) + str.GetLength()*2);
pBuf = (wchar_t)GlobalLock(hClip);
wcscpy(pBuf,str);
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
CloseClipboard();
}
if(OpenClipboard())
{
if(IsClipboardFormatAvailable(CF_UNICODETEXT))
{
HANDLE hClip = GetClipboardData(CF_TEXT);
wchar_t * pBuf =(wchar_t*) GlobalLock(hClip);
AfxMessageBox(pBuf);
}
CloseClipboard();
}
}
代码如上,
为何在向剪切板SetClipboardData(CF_TEXT) CF_TEXT格式
而进行判断的时候 IsClipboardFormatAvailable(CF_UNICODETEXT) CF_UNICODETEXT格式。
返回值为何会是TRUE? 这两个格式一样么?
CF_TEXT格式被标注为ANSI, ANSI和ASCII 有什么区别