【问题标题】:How to disable the horizontal ScrollBar of a CListCtrl in MFC?如何在 MFC 中禁用 CListCtrl 的水平滚动条?
【发布时间】:2014-04-14 09:19:09
【问题描述】:

我的 MFC 项目中有一个 CListCtrl 控件,我不希望任何时候都显示水平 ScrollBar。但是垂直的需要正常显示。我用的是VS2010,有什么解决办法吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 反馈:我尝试了删除 WS_HSCROLL 样式的第二个建议,但即使在填充列表控件之后,它也不起作用。没有尝试第一个建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多