就是类似于Ultraedit或VC中的文本编辑器,看了一些代码,有的是直接分配一个文件大小的内存,有的是每一行文本分配一块内存。还有UNDO功能应该怎么写?

解决方案 »

  1.   

    俺GOOGLE下看看,哈哈,了解下也好的!
      

  2.   

    UNDO功能你可以考虑 命令模式+备忘录模式我们的文本编辑器就是这么做的
      

  3.   

    class CLine//代表一行文本
    {
        int m_nCount;//字符个数
         UINT m_nOption;
        LPTSTR m_pText;//=new TCHAR[...]分配内存
    };
    现在的问题是用
    CArray<CLine, CLine&>;
    还是用
    CArray<CLine*, CLine*>;class CUndo;
    UNDO功能是用数组还是链表?是用对象还是用指针做参数?
      

  4.   

    scintilla我下载了压缩包名是wscite222.zip, 但是里面没有C/C++源代码,是不是我下载的不对?
      

  5.   

    享元模式(FlyWeight模式)构建文本数据对象结构
    命令模式(Command模式) 实现UndoRedo
      

  6.   

    用RichEdit吧,已经实现了大部分功能,包括UNDO之类的,如果还想改进的话,可以在这个控件基础上扩展