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