最近microsoft发布了英文版的msn messenger 6 的测试版本,我试用之后发现它的编辑框不再是标准的控件(我个人这样认为,你也可以用spy++抓来看看)这个编辑器确实比较cool,在很多方面比richedit更炫,试问,要做一个图文编辑器,特别是像msn messenger 6那样的编辑器,你认为哪些地方可能会出现难点,你有什么解决方案?欢迎所有对editor有过思考、有过想法、有过疑惑的朋友都来讨论,呵呵,让我们一起提高。:)呵呵,我有5000多分,凡是有启发意义的帖子都另开帖子给分,直到分数散尽。:D

解决方案 »

  1.   

    我感决其实还是richedit,不过好像是放到htmlview里面了。
    另外可能是用了某些特殊的技术比如Layeredwindow,可以让窗口透明,这样就可以显示
    出来后面的背景了。
      

  2.   

    to foxmail:
    设计模式的第二章我已经看过很多遍,这种浮光掠影的讲解实际操作起来没有什么意义。况且,它之所以讲一个编辑器完全是为了引入几种设计模式而已,就更缺乏操作性了。:)
    to younker & linux2001
    我用spy++抓过,整个窗口里只有一个可显示的子窗口,另外有一些隐藏的窗口(没有大小的,所有顶点全部为0,0)。如果我还信任spy++对它有效的话,那么上面的编辑器事实上应该是无窗口的,而以前的编辑控件都是有窗口的。除非spy++对新的messenger已经失效。
      

  3.   

    to Jim3277:如果把文档定义成篇,段,行,字,字符,那么每个字符的字体是明确的,那么可以确定它的大小,由此可以得到字的大小,以次类推是否可以顺利的得到段落所需的显示空间,整个文章所需的显示空间以及相互之间的偏移呢?不知道这样效率如何?
      

  4.   

    我对这个也很有兴趣,我认为MSN的那种不仅仅是个简单的richeditor,它里面还支持超链等功能。我觉得它更像一个自己做的浏览器一样,我认为和IE浏览器比较相像,但又有很多不同。
    其具体的实现技术,偶就不得而知了。
      

  5.   

    帮你UP一下。
    这种东西如果想做一个简单的。很EASY
    如果想做一个好点的。
    能力不够。难点不知道自己会什么,不会什么。
      

  6.   

    vc下做editor,有的是在生成的时候,做成dialog,然后再加上rechedit控件,对控件进行编程,有的是做成mdi或者sdi,在最后一步做成CRichEditView类,再进行编程。我手头有第一种方法的例子代码,感觉不是很正轨,有点象纯c++sdk编程,而第二种方法的编程还没有找到过例子。关注。
    第二种方法主要是对字、行、段落的判断和设计。
    ffish——胖胖鱼
      

  7.   

    CHARFROMPOS(), 文字换行的问题, SCROLL窗口内容, 缓冲, 插入, 删除,
      

  8.   

    楼主想像一下MS的另一个软件word就明白了
      

  9.   

    你要做编辑器, 应该以 word 为目标
      

  10.   

    同意 realdreamer(楼主英明,贫僧久仰大名,特来拜见)说的:“你要做编辑器, 应该以 word 为目标”如果想做,读读 OpenOffice 源码。http://www.openoffice.org/