这个问题似乎有点矛盾,是这样的,
我需要CEdit一行行出入文本,不想让他自动换行,所以设置了ES_AUTOHSCROLL风格,但是同时我又不想让选中一行文本的时候自动滚动,应该怎么办呢,请教大家帮忙

解决方案 »

  1.   

    是这样的,我的CEdit控件是用来显示Message Log的,只能一行行显示,这样就必须设置Multiline属性,但是我又不想让他自动换行,就像UltraEdit里面的实现一样
      

  2.   

    void COleRichEditCtrl::OnLButtonDown(UINT nFlags, CPoint point)
    {
    CRichEditCtrl::OnLButtonDown(nFlags, point);
    // TODO: Add your message handler code here and/or call default
    long nStartChar, nEndChar;
    GetSel(nStartChar,nEndChar);
    int index,index_begin;
    index=LineFromChar(nStartChar);
    index_begin=LineIndex(index);
    SetSel(index_begin,LineLength(index_begin)+index_begin);}
    这是我的选中代码
      

  3.   

    CEdit里面选中一行只能直接修改鼠标单击事件,然后SetSel,其他想不到什么好办法另外我试过了 ::SetWindowLong(GetSafeHwnd(),   GWL_STYLE,   GetExStyle()   |  ~ES_AUTOHSCROLL);

    SendMessage(ES_AUTOHSCROLL,SB_LEFT,0);
    没用,请大家帮忙
      

  4.   

    还是没人回答吗,我不想换控件啊,因为程序很大,只能用CEdit控件来实现