如何在MFC中禁用CListCtrl的水平滚动条

How to disable the horizontal ScrollBar of a CListCtrl in MFC?

本文关键字:CListCtrl 水平 滚动条 MFC      更新时间:2023-10-16

我在我的MFC项目中有一个CListCtrl控件,我不想在任何时候显示水平滚动条。但是垂直的需要正常显示。我使用VS2010,任何解决方案?

您可以通过派生List控件来实现这一点,并像这样:

void CListCtrlEx::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp) 
{
    ModifyStyle( WS_HSCROLL, 0 );
    CListCtrl::OnNcCalcSize(bCalcValidRects, lpncsp);
}

或者如果你不想派生你的List控件,你可以这样做:

if ( Style & WS_HSCROLL )
{
    Style &= ~WS_HSCROLL;
    ::SetWindowLong(m_list.GetSafeHwnd(),GWL_STYLE,Style);
}