剪贴板中如何获取带格式的文本(如:rtf) - C++ Builder / Windows SDK/API
从word复制带格式的文本到RichEdit1都能正确显示,而用
TClipboard *clp= TClipboard();
clp->GetTextBuf(buf,1024);
仅得到文本内容,如何获取其中的格式?
[解决办法]
获取剪贴板内数据格式的名称。
int GetClipboardFormatName(
UINT format, // clipboard format to retrieve
LPTSTR lpszFormatName, // address of buffer for name
int cchMaxCount // length of name string in characters
);
(1)format 表示的意义同前,应该是不事先规定格式;
(2)lpszFormatName表示的是格式名称地址;
(3)cchMaxCount剪贴板内数据的长度。
GetClipboardData
获取剪贴板内的数据。
HANDLE GetClipboardData(
UINT uFormat // clipboard format
);
其中 format表示的是剪贴板内数据的格式。该参数的意义可参照后面。
有些剪切板的API不知道能不能搞定。