复制RTF格式的一段文本后在WORD中可粘贴,但写字板中不能粘贴

时间:2021-11-27 20:26:17
用以下代码把RTF文字粘到clipboard后在写字板中不能粘贴为什么?
CSharedFile   sf(GMEM_MOVEABLE   |   GMEM_SHARE   |   GMEM_ZEROINIT);   
TCHAR   sz[200];   
/*     
下面这句不要管,这个是RTF格式的字符串(用VC以2进制打开.rtf文件可见类似代码   
效果是字号为12   (fs24/2)的ABC,   Arial字体   
*/   //{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
_tcscpy(sz,   _T("{\\rtf1 {\\colortbl;\\red255\\green0\\blue0;\\red0\\green0\\blue255;}{1 \\tab 2 \\tab 3 \\par 4 \\tab {\\f0\\fs84\\cf1\\b\\i 5} \\tab 6}}"));   
    
sf.Write(sz,   _tcslen(sz)   *   sizeof(TCHAR));     
OpenClipboard();   
EmptyClipboard();   
/*   
RICHEDIT.H,   #define   CF_RTF   TEXT("Rich   Text   Format")   
*/   
SetClipboardData(::RegisterClipboardFormat(CF_RTF),   sf.Detach());   
CloseClipboard();   

6 个解决方案

#1


1  check the code is ANSI or unicode
2 check the string length

#2


该回复于2008-04-09 10:57:34被版主删除

#3


可恶的广告.

#4


你生成的RTF流和写字板生成的格式一致吗?

#5


确保是unicode编码

#6


up and mark,,,

#1


1  check the code is ANSI or unicode
2 check the string length

#2


该回复于2008-04-09 10:57:34被版主删除

#3


可恶的广告.

#4


你生成的RTF流和写字板生成的格式一致吗?

#5


确保是unicode编码

#6


up and mark,,,