如何在MFC中禁用CListCtrl的水平ScrollBar?

时间:2014-03-11 00:42:47

标签: c++ c windows user-interface mfc

我的MFC项目中有一个CListCtrl控件,我不希望随时显示水平ScrollBar。但垂直的需要正常显示。我使用VS2010,任何解决方案?

1 个答案:

答案 0 :(得分:2)

您可以通过派生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);
}