自第一篇發(fā)布后,收到了不少建設(shè)性的意見,這里尤其感謝網(wǎng)友weolar、路人甲,他們在給我重要提示的同時讓我意識到自己的武斷。上篇我曾經(jīng)說過richedit是非常底層的實現(xiàn),其實我起初也不這么認為,只是在Win2K泄漏代碼中能找到幾乎所有想要的內(nèi)容同時卻無法發(fā)現(xiàn)richedit半點蹤跡故形成這種判定。事實正如網(wǎng)友weolar、路人甲提及,richedit屬于應(yīng)用層的實現(xiàn),看過代碼之后感受到一種親切感,因為大多數(shù)概念在我移植ie代碼的時候都曾見到過,只是當初并未深入圖文編排細節(jié),僅著眼于渲染引擎。再次感謝這兩位網(wǎng)友,不是他們的幫助,我無法在短時間內(nèi)完成一個初步的具備完美特征的IM RichEdit實現(xiàn)。WinNT中的richedit應(yīng)該是1.0,現(xiàn)在普遍的是2.0,最近研究發(fā)現(xiàn)Win8中更多的暴露了TOM接口,如果采用那些接口,實現(xiàn)起來會更加簡單,這個后面我會提及。給我的感覺就是在實現(xiàn)一樣?xùn)|西的時候,誰都意識不到它會那么經(jīng)用,到后來發(fā)現(xiàn)擴展性不夠的時候,升級起來卻并不是那么干脆了,顧及兼容性,只能在大版本更新的時候動大手術(shù)。
在我實作的同時,大量使用了搜索引擎和谷歌技術(shù)論壇。我沒有找到直接答案,然而各種撲朔迷離的線索總是恍恍惚惚帶著我走向最終的勝利,讓我再次體會到成功貴在堅持不懈。在自認為差不多滿意的時候,通過跟同事的探討,我橫下心繼續(xù)追求完美,相信自己做的不會比QQ的實現(xiàn)差。
目前完成了大綱中的高效動畫實現(xiàn)部分,這部分耗時1周,另外加上前2周的工作之外時間的技術(shù)調(diào)用。接口基于IRichEditOle,也就是說只要符合RichEdit實現(xiàn)規(guī)范的都支持,包括窗口的和無窗口的。那什么是符合RichEdit實現(xiàn)規(guī)范呢,就是符合RichEdit窗口實現(xiàn)的方式,特指無窗口的RichEdit實現(xiàn)。你可能說我不知道如何實現(xiàn)無窗口的RichEdit,這個不要緊,我以后會做。后面的文章我會陸續(xù)把第一部分實現(xiàn)進行詳細講解,同時實現(xiàn)第二部分。
效果圖:

示例工程下載
大綱如下:
高效動畫實現(xiàn)
高效圖片管理
高效時鐘
動畫控件
高效動畫刷新
拖拽剪切粘貼支持
Process Monitor
QQ動畫組件分析
ClipSpy
QQ的剪切板格式分析
IDataObject
Xml序列化反序列化
拖拽
粘貼
OLE擴展
仿QQ新聞?wù)?br />
...
posted on 2012-06-14 22:49
萬連文 閱讀(2529)
評論(10) 編輯 收藏 引用 所屬分類:
richedit