Memo 的ScrollBars 值为ssNone 在Memo中输入文字, 当一行中多于一个英单词时,并且最后一个英语单词已经超出了
Memo一行的最大长度. 这时,Memo会自动换行,将最后一个英语单词全部移到下一行.
如何取消这一现象?例:  (假设 Memo 一行最多只能输10个英文字母)  当输入
      All I have to do is learn English.   
  
  在Memo中的显示将是:
      All I have
      to do is 
      learn 
      English.      而我要的是:
      All I have
      to do is l
      earn Engli
      sh.     如何做到这一点???
      

解决方案 »

  1.   

    这样:
    memo1.WordWrap:=False或者直接在object inspect中设置wordwrap
      

  2.   

    在Memo上做手脚是不太可能了,考虑自己写一个控件。
      

  3.   

    要这样的话,处理一下memo1.onchange就可以了,不过应该把wordwrap设为false才比较容易
      

  4.   

    wordwrap设为false, 然后在onChange判断,到达一定长度,人为地加上一个 #13#10 就可
      

  5.   

    这个似乎是Wndows通用控件的问题,不大可能改吧。
    你看下面这个回复框也有这个问题啊,
      

  6.   

    重载tmemo的wndProc,在它的wm_keydown里处理.
      

  7.   

    如果在纯软件的程序中应用,这功能就用不着了.
    因为我现在在做一个系统,与硬件结合使用: Memo中的内容将显示在硬件的液晶上.
    本来Memo一行显示的文本就少, 如果按默认的做的话,一屏只能显示很少几个单词了.
    这样, 增加了硬件的翻屏次数, 也就是增加了操作复杂度
      

  8.   

    TO yxf这方法我试过, 如果是粘贴呢??
    如何处理数据??总不能再一个一个的读吧
      

  9.   

    学习中,不过这种问题不是只在memo中有,像记事本,word等都有哦
      

  10.   

    按你的想法很难看懂,连手机上显示的英文也是整个换行的。
    话估计memo达不到你要的效果,自已写控件了。
      

  11.   

    其实我一开始也是想到处理全部,但也不是一定得处理全部我是这样想的,如果是只能普通的编辑,那么keydown之类的每输入一个字符修改一次,然而遇到粘贴,似乎就比较麻烦所以我的想法是在change之前获取光标位置,这样就可以减少一些修改的量,毕竟粘贴、删除、插入、覆盖都是得从光标处开始的,如果是从中间开始插入/删除,那么之后的内容都得修改;如果是从末尾的插入/删除,那么就只是末尾的处理好了我想,这样可以减少复杂度吧
      

  12.   

    Memo.WordWrap=flase
    取消自动换行
      

  13.   

    或者你也可以考虑用RichEdit一类的控件,仿照做成Word那样:当出现你所说的这种情况时,根据实际情况缩小或者放大当前行字体的间距
    但是这样做的话也许难度更高
      

  14.   

    hthunter(核桃-我的心在下雨,雨中我和她携手漫步)的说法有道理,如果真是要在硬件上显示的话,还是按照默认的好。
      

  15.   

    建议看看老式手机是如何处理的!
    如果真要强制换行用ONCHANGE就可以,也很简单的!
      

  16.   

    TO
       hthunter(核桃-我的心在下雨,雨中我和她携手漫步)不错.
    说到了点上.
    先去调查一下用户...:)过几天结贴... 谢谢.
      

  17.   

    TO:
       exu(大脸猫) 做为程序员, 不能说什么是老外写的. 当发现某个问题就要寻找解决的方法.
      

  18.   

    To:
    cmain83(心缘※草)
    我说老外写的意思是他们写的当然考虑他们自己的语言习惯.
    如果对这个组件不满意,完全可以自己写一个符合东方人语言习惯的.
      

  19.   

    楼主这个问题还没解决啊?
    在onchange事件写代码
    先获得光标焦点所在行,然后判断这一行的长度,如果大于某值时,
    模拟键盘操作#13