00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "CMSWindowsClipboardUTF16Converter.h"
00016 #include "CUnicode.h"
00017
00018
00019
00020
00021
00022 CMSWindowsClipboardUTF16Converter::CMSWindowsClipboardUTF16Converter()
00023 {
00024
00025 }
00026
00027 CMSWindowsClipboardUTF16Converter::~CMSWindowsClipboardUTF16Converter()
00028 {
00029
00030 }
00031
00032 UINT
00033 CMSWindowsClipboardUTF16Converter::getWin32Format() const
00034 {
00035 return CF_UNICODETEXT;
00036 }
00037
00038 CString
00039 CMSWindowsClipboardUTF16Converter::doFromIClipboard(const CString& data) const
00040 {
00041
00042 return CUnicode::UTF8ToUTF16(data).append(sizeof(wchar_t), 0);
00043 }
00044
00045 CString
00046 CMSWindowsClipboardUTF16Converter::doToIClipboard(const CString& data) const
00047 {
00048
00049 CString dst = CUnicode::UTF16ToUTF8(data);
00050 CString::size_type n = dst.find('\0');
00051 if (n != CString::npos) {
00052 dst.erase(n);
00053 }
00054 return dst;
00055 }