Edit带有ES_AUTOVSCROLL和ES_AUTOHSCROLL时,初始态滚动条的arrow是灰掉的,字符多时会变成可用状态,请问怎么得到Edit当前水平滚动条和竖直滚条条是什么状态(灰掉的,还是可用的?)?在线等.

解决方案 »

  1.   

    CWnd::GetScrollBarCtrl 
    CScrollBar::GetScrollInfotypedef struct tagSCROLLINFO { 
        UINT cbSize; 
        UINT fMask; 
        int  nMin; 
        int  nMax; 
        UINT nPage; 
        int  nPos; 
        int  nTrackPos; 
    }   SCROLLINFO, *LPSCROLLINFO; 
    typedef SCROLLINFO CONST *LPCSCROLLINFO;
      

  2.   

    我要得到的是ESB_DISABLE_BOTH这种属性,
      

  3.   

    初始态可以在EnableScrollBar中抓到,但现在是我想随时得到这个属性,求方法。
      

  4.   

    CWnd::GetScrollBarCtrl 
    CScrollBar::GetScrollBarInfo
      

  5.   

    我要的是ESB_DISABLE_BOTH这类属性,
      

  6.   

    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
    ASSERT(pEdit && pEdit->GetSafeHwnd());
    SCROLLINFO si = {0};
    si.cbSize = sizeof(si);
    int nPos = pEdit->GetScrollLimit(SB_VERT);
    if(nPos > 0)
    {
    AfxMessageBox(_T("VertScroll Enable"));
    }
    else
    {
    AfxMessageBox(_T("VertScroll Disable"));
    }
    水平滚动条与此类似
      

  7.   

    SCROLLINFO si = {0};
        si.cbSize = sizeof(si);
    这两句不要
      

  8.   

    是我问题没描述清,我的意思是EnableScrollBar
    (  HWND hWnd,
        UINT wSBflags,
        UINT wArrows
    )wArrows可以设置为ESB_DISABLE_BOTH
    ESB_DISABLE_DOWN
    ESB_DISABLE_LEFT
    这些属性,我怎么随时得到这些属性,我原来是直接在这个函数里拦载了,现在希望不拦截API也能得到这些属性。