1,在QQ中复制的文本,粘贴到记事本中后,本来是多行的却一律变成一行了;而原本在记事本中是多行的文本复制到QQ的发言框中发送出去,它还是多行的.这是为什么??
  类似的问题是:在VC写的由多行EDIT BOX保存到记事本中的多行文本,看见的是多行的.但有极少数情况,复制粘贴到其它软件(不是VC写的)的编辑框内,它就变成一行了.而如果是你原先在记事本中一行一行打出来的文本,拷贝到那个软件的编辑框内,仍然是多行的.所以问题肯定是出在了"由多行EDIT BOX保存到记事本"这个过程中,估计是保存是少了换行符之类的.我不清楚CFile或CStdioFile的保存机制,还请大侠们解释.2,在WIN98下,EDIT框最多只能放进去64K长度的文本.
  不要回帖的时候相当然地认为:SetLimiText()或SendMessage()就能够解决.如果你是这样的想当然的人,就不要作回答,就当是帮忙顶一下帖,谢谢.
  我见过在98下EDIT框能放进去超过64K的软件(网上多的是).如果有人曾经解决了这个在98下的长度限制问题,我开个帖再送100分给你.
  注意:一定是98下.
  
我不喜欢回帖者用一种想当然的态度去对待提问者.
不懂就是不懂,没有做过就老实承认.顶帖者有分.

解决方案 »

  1.   

    不过我认为是换行符的问题,以前做个一个聊天程序,对聊天记录的保存都是用的CFile打开文件然后多行保存,就是每一行后面都有换行符。
       第二个问题,我想每个控件都有容量上限,超过了就无法显示或把之前的覆盖掉了,除非在覆盖之前另外开辟内存把覆盖的信息保存起来。
      

  2.   

    CFile存放记录的时候后面要加0x0A 0x0D就是\n,这样存进去的内容显示为分行
    CStdioFile是CFile的类继承。除了可以按照CFile所有操作以外,还可以直接存放CString格式。如果存放CString格式,每存一条系统会自动换行
      

  3.   

    用2进制方式打开从QQ上复制下来的文本,看看换行标志是不是\n。
    记事本中换行标志是\r\n,遇到没有\r的文本也不会换行。
      

  4.   

    2.用RichEdit,最好用Richedit2.0
    LoadLibrary(Riched20.dll");
    设置文本上限
    m_cRichEdit.SendMessage(EM_EXLIMITTEXT,0, 1000000000);