我想实现CRichEdit一点一点的向上滚动,而不是一次滚动一行,请问各位大侠该如何做呢?

解决方案 »

  1.   

    void UnmanagedScrollToButton(int hwndRichEdit)
    {
    ?HWND h=(HWND)hwndRichEdit;
    ?int line = SendMessage(h, EM_GETFIRSTVISIBLELINE, 0, 0);
    ?int linecount = SendMessage(h, EM_GETLINECOUNT, 0, 0);
    ?SendMessage(h, EM_LINESCROLL, 0, (linecount - line - 2));
    }
      

  2.   

    如果拖动滚动条就可以看到CRichEditCtrl可以一点一点的滚动,现在我隐藏滚动条之后想用代码实现同样的效果,但不知道如何做.
      

  3.   

    没有用过这样的方法?一点动和一次动一行有什么不同吗?为什么要把时间花在这样的细节上呢?是刚开始做程序的通病吗?程序重要的功能,效率,那样的细节没有必要花时间做为技术讨论,你可以 发送 Scrool Bar 的消息就行了
      

  4.   

    int yPos = ::GetScrollPos(hwnd,SB_VERT);
    ::PostMessage(hwnd,WM_VSCROLL,MAKELONG(SB_THUMBPOSITION,yPos - 10),0);
      

  5.   

    用计时器不断改变CRichEdit的坐标
      

  6.   

    to vcmute:
         谢谢!to Saimen:
        坦白的说,我不喜欢你说话时那种自以为是的语气。