try
m_rich.SetSel(0,-1);
m_rich.ReplaceSel("" );

解决方案 »

  1.   

    你这个不对吧,m_rich.SetSel(0,-1);
    把所有的内容都选了,那第二局m_rich.ReplaceSel("" );
    把我写进去的文字都换成“”?
      

  2.   

    我不用VC,对VC的控件不清楚,这儿给出API的用法:
    DWORD dwStart, dwEnd;
    SendMessage(hEdit, EM_SETSEL, 0, -1);
    SendMessage(hEdit, EM_GETSEL, (UINT)&dwStart, (LONG)&dwEnd);
    SendMessage(hEdit, EM_SETSEL, dwEnd, dwEnd);
      

  3.   

    是这样得,SETWINDOWTEXT里面有换行,
    DWORD dwStart, dwEnd;
    SendMessage(hEdit, EM_SETSEL, 0, -1);
    SendMessage(hEdit, EM_GETSEL, (UINT)&dwStart, (LONG)&dwEnd);
    SendMessage(hEdit, EM_SETSEL, dwEnd, dwEnd);
    得到的和我刚才得到的一样是TEXT的长度,而我想要的是要连换行也要在内,即CPOINT里面的Y值不应该是1而是有计算行的,
      

  4.   

    其实是这样的,我按照CODEGURU方法想实现RICHEDIT里面的一部分文字不能修改,而RICHEDIT其他的部分用户可以添加文字修改等等,我按照CODEGURU设置ENM_PROTECTED等等方法,结果导致RICHEDIT全部不能修改了,因此我走ONPROTECDED里面加上语句,判断用户的光标在哪里,来决定PRESULT的真假值,但是现在就不好确定我要保护的语句的末尾光标应该是哪,按照上面方法得到CPOINT为(37,1)
    但是如果在ONPROTECTED里面判断时看到的紧接着我的文字(目前3行)的一行开头输入时得到的光标CPOINT(1,60)是不对的,到底怎么解决呢
      

  5.   

    或者谁能提供让RICHEDIT里面特定的文字保护的方法也行