Since the first release, I have received a lot of constructive comments. I would like to thank the netizens weolar and passer-by. They have given me important tips while making me aware of my own arbitrariness. In the previous article, I once said that richedit is a very underlying implementation. In fact, I didn't think so at first, this determination is formed only when almost all desired content can be found in the Win2K leaked code, but the richedit trace is not found. As weolar and Lu renjia mentioned, richedit is implemented at the application layer. After reading the code, it feels a kind of intimacy, because most concepts have been seen when I transplanted ie code, I did not go deep into the graphic orchestration details at the beginning, but only focused on the rendering engine. Thanks again to these two netizens, they did not help me. I was unable to complete a preliminary IM RichEdit implementation with perfect features in a short time. Richedit in WinNT should be 1.0, and now it is common 2.0. Recent studies have found that more TOM interfaces are exposed in Win8. If those interfaces are used, the implementation will be simpler, I will mention this later. I feel that when we implement something, no one knows that it will be so useful. When we find that the scalability is not enough, the upgrade is not so simple, taking into account compatibility, major surgery can only be performed when the major version is updated.
While implementing my work, I used a lot of search engines and Google technology forums. I didn't find a direct answer. However, various confusing clues always suddenly took me to the final victory, so that I once again realized that success is always in progress. When I thought I was almost satisfied, I went on to pursue perfection with my colleagues. I believe that my work will not be worse than QQ's.
Currently, the efficient animation implementation in the outline is completed, which takes one week, and the technical calls outside the work of the previous two weeks are added. The interface is based on IRichEditOle, which means that all interfaces that comply with RichEdit implementation specifications are supported, including window and windowless interfaces. What is the Implementation Standard of RichEdit? It is the implementation method of RichEdit window, especially the implementation of RichEdit without window. You may say that I don't know how to implement windowless RichEdit. It doesn't matter. I will do it later. In the subsequent articles, I will explain in detail the first part and the second part.
:
Download Sample project
The outline is as follows:
Efficient animation to achieve efficient image management efficient clock animation controls efficient animation refresh drag cut paste support Process MonitorQQ animation component analysis ClipSpyQQ clipboard format analysis IDataObjectXml serialization deserialization drag paste OLE extension imitation QQ news Abstract
...