(1) 我用了一个CEDIT控件,设置了自动换行属性后,发现在输入其它字符时正常换行,但碰到如"*""+"等字符,满了一行后,就把所有的同类"*""+"等字符都跳到下一行去了,常常导致上一行只能显示半行正常字符,有没有做过类似工作的兄弟,说一个解决办法?
(2) 我过滤了控件的WM_CHAR消息,使它不能从键盘上输入中文字符,但如果用复制粘贴的办法还是可以把中文字符串放到编辑框中,不知有没有办法防止它呢?

解决方案 »

  1.   

    2
    从板读取:
    char *buffer;
    if(OpenClipboard())
       buffer=(char*)GetClipboardData(CF_TEXT);
    CloseClipboard();
    然后对数据进行判断再进行下一步的操作,判断粘帖可以试试键Ctrl+V
    你看看 http://www.hahabbs.cn/vcshare/Ascll/index.htm
      

  2.   

    1.好像系统会认为它们是一个组合,所以会跳下去。
    2.可以在winproc里面过滤掉这两个功能,当收到WM_KEYDOWN的时候,判断wParam是不是‘V’和‘c’,同时getkeystate,判断CTRL是否按下
      

  3.   

    现在已经解决了这问题,我是取消了EDIT的自动换行属性,然后判断每行达到了我规定的字符数后插入换行符来达到换行的目的,而且也不会再有跳行的现象了.