一个带有multiline选项的CEdit框
1、如何在框里面没有字符的情况下设置垂直的滑动条可以拉动,就好像里面有几百行文字一样?
2、如何去掉框里面的光标?

解决方案 »

  1.   

    CWnd类里面有 Scrolling Functions  ,滚动条操作函数.你可以看一看,CEDIT是从CWND派生的,因此一样游泳. 可以用这些函数设置CEDIT内建的滚动条的各种属性.
      

  2.   

    2、如何去掉框里面的光标?
    设置 READONLY 属性的话不久没有光标了?
      

  3.   

    感谢2位,但是
    1,用scroll设置但是没出现滑动条
    2,设置成readonly属性一样会出现光标
      

  4.   

    1.调用ShowScrollBar() :Displays or hides a scroll bar. 
    2. 那,试试 EnableWindow(FALSE);
      

  5.   

    1.错了,应该是 EnableScrollBar()
      

  6.   

    To: everandforever(Forever)     感谢,俺试试!
      

  7.   

    1:
    BOOL CAboutDlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    // TODO: Add extra initialization here
    CWnd* pEdit=GetDlgItem(IDC_EDIT1);
    SCROLLINFO si;
    si.cbSize=sizeof(SCROLLINFO);
    si.fMask=SIF_ALL;
    si.nMax=1000;
    si.nMin=0;
    si.nPage=100;
    si.nPos=0;
    pEdit->SetScrollInfo(SB_VERT,&si);
    return TRUE;   
    }
    2:处理edit的WM_SETFOCUS消息,直接返回,不要调用基类函数。
      

  8.   

    webber84(糕鱼昏) 高,实在是高!!!
      

  9.   

    to: everandforever(Forever)、 webber84(糕鱼昏) 感谢二位,用一下方法可以出现滚动条但是条已经充满了滑动的地方,无法上下滑动了,请二位再不吝赐教。
    CWnd* pEdit=GetDlgItem(IDC_EDIT1);
    SCROLLINFO si;
    si.cbSize=sizeof(SCROLLINFO);
    si.fMask=SIF_ALL;
    si.nMax=1000;
    si.nMin=0;
    si.nPage=100;
    si.nPos=0;
    pEdit->SetScrollInfo(SB_VERT,&si);
    pEdit->EnableScrollBar(SB_VERT,ESB_ENABLE_BOTH);
      

  10.   

    pEdit->EnableScrollBar(SB_VERT,ESB_ENABLE_BOTH);CWnd* pEdit=GetDlgItem(IDC_EDIT1);
    SCROLLINFO si;
    si.cbSize=sizeof(SCROLLINFO);
    si.fMask=SIF_ALL;
    si.nMax=1000;
    si.nMin=0;
    si.nPage=100;
    si.nPos=0;
    pEdit->SetScrollInfo(SB_VERT,&si);_____
    如果还是不行,试试去掉EDIT的VERTICAL SCROLL,和AUTO_VSCROLL属性.
      

  11.   

    to:everandforever(Forever) 
       谢谢,我再试试
      

  12.   

    to:everandforever(Forever)    EDIT的属性里面选上vertical scroll属性、去掉auto vscroll属性的时候,滑动条出现了,但是拉动条之后此条就消失了,我程序的企图是再一个对话框上面的edit框(多行属性)上绘图,由于绘图超过了一页的幅面但是edit编辑框没有出现滑动条,我想手动让他出来,原以为只要滑动条出来就可以使用滑动条使下面绘的图形可见了,但是滑动条点了之后没有实现我的想法,我该怎么做才能实现这样的功能?多谢了!
      

  13.   

    应该是EDIT的内部处理把SCROLL给恢复了. 如果你非要在EDIT上绘图的话, 我想你应该替换调EDIT内建的SCROLL BAR(CWND类内建的SCROLLBAR,CEDIT从CWND类继承). 然后在EDIT内部处理ONVSCROLL()(WM_VSCROLL消息.)
    这里有个替换内建SCROLLBAR的例子:
    http://msdn.microsoft.com/msdnmag/issues/01/11/c/c0111.asp
      

  14.   

    to:everandforever(Forever) 
      哥们,非常谢谢你,我感觉问题变得复杂了,恐怕超出了目前贴子的范围,我准备另开贴子来问这个问题,谢谢你的回答和帮助,衷心的感谢。