我支持的剪貼板格式如下:
enum FETCINDEX {
kFETCINDEXUnicode, // Unicode 文本
kFETCINDEXAnsi, // ANSI 文本
kFETCINDEXDIB, // DIB
kFETCINDEXHDROP, // HDROP
kFETCINDEXHTML, // HTML
kFETCINDEXIMRichEdit, // 自定義格式
};
kFETCINDEXUnicode, // Unicode 文本
kFETCINDEXAnsi, // ANSI 文本
kFETCINDEXDIB, // DIB
kFETCINDEXHDROP, // HDROP
kFETCINDEXHTML, // HTML
kFETCINDEXIMRichEdit, // 自定義格式
};
未來打算擴展的OLE類型如下:
enum IMRichElementType {
kIMRichElementText, // 字符串
kIMRichElementCustomPicture, // 自定義圖片
kIMRichElementSystemPicture, // 系統圖片
kIMRichElementFancyCharacter // 炫彩字符
};
kIMRichElementText, // 字符串
kIMRichElementCustomPicture, // 自定義圖片
kIMRichElementSystemPicture, // 系統圖片
kIMRichElementFancyCharacter // 炫彩字符
};
時間緊張,很多細節處理不完善,上周還初步實現了chromium的windowless版的embed方案,新的一周要努力完善。
效果圖如下(支持HTML拷貝咯!!!):

執行文件下載
技術講解會在現在特性細節完成后繼續。扯點別的,繼chrome os的shell放棄web實現后,fb也傾向native app而暫緩html5,似乎給html5潑了一小點冷水。新技術的穩定需要一個過程,而商業公司往往看重的是當前的運營、盈利。當然html5本身僅僅是加入了一些語義、植入了一些sdk,而作為Windows開發者擅長的也是對sdk封裝而非語言層面的封裝,相比之下,web方面我比較熱衷用html5新特性(canvas)來實現UI,而對于原生的html元素拼湊界面有點摸不著門道。