2 qq 28254507 qq_28254507 于 2016.03.12 10:59 提问

mfc CListView如何去掉水平滚动条?

当我设置的列宽大于视图宽度时就会出现水平滚动条,

 BOOL ListView::PreCreateWindow(CREATESTRUCT& cs)
{
    BOOL bPreCreated = CListView::PreCreateWindow(cs);
    cs.style &= ~(WS_HSCROLL);
    cs.style &= ~(WS_VSCROLL);
    return bPreCreated;
}

尝试了没有作用。。

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.14 12:52
已采纳

sorry,那个是C#的,不过思路差不多

调用API ShowScrollBar(listview句柄, SB_VERT, true);

caozhy
caozhy   Ds   Rxr 2016.03.14 12:48
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC CListView/CListCtrl OnSize时自动排列图标(尽量不出现滚动条)
创建时用风格LVS_AUTOARRANGE 或者每次MoveWindow之后调用Arrange函数
[MFC]CListView列表视图
1. 列表视图简介:     1) 最常见的列表视图案例就是Windows的资源管理器的右侧视图,就是使用列表视图来展示当前路径下的文件集合的;     2) 列表视图有两大元素,一是文本,而是图形,和树形视图一样,但是这两种元素的展示形式会根据列表视图的样式发生改变;     3) Windows支持的4中列表视图的样式:          i. 小图标:          i
禁止list control的水平滚动条
void CMyListCtrl::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp) { ModifyStyle(WS_HSCROLL | WS_VSCROLL,0,0); CListCtrl::OnNcCalcSize(bCalcValidRects, lpncsp); } WM_CREATE 应用程序创建一个窗口 WM_DESTROY一个窗口被销毁 WM_MOVE 移动一个窗口 WM_SIZE改变一个窗口的大小 WM_ACTIVATE一个窗口被激活或失去激活
VC下去掉ListControl横向滚动条
关于这个问题,困扰了我很多天,也在网上看了很多答案,但是都没能解决问题,后面自己仔细考虑了下,滚动条的出现是因为显示的列表长度大于列表本身的长度,所以才显示的,纵向滚动条的显示是可以理解的,确实是长度超过了list的长度,但是一再把list的宽度拉宽,始终会出现横向的滚动条,后面研究了下自己的代码,发现一个重要问题,那就是自己用到的列表宽度是整个列表的宽度,但是滚动条也在列表框内,所以有重叠,所以
怎样让clistctrl禁止显示水平滚动条,但可以显示垂直滚动条
搞定 右键控件属性设置中将no scroll选中。                   if(m_lst_ip.GetItemCount( ) > 22) { SCROLLINFO si; si.cbSize = sizeof( SCROLLINFO ); si.fMask = SIF_PAGE | SIF_RANGE; si.nMin = 0; si.nMax = m_lst
MFC MDI去掉滚动条
MFC MDI当修改窗口风格为子窗口后,会自动添加滚动条,去掉滚动条方法如下: ModifyStyle( WS_VSCROLL|WS_HSCROLL, 0 );或者 ShowScrollBar( SB_VERT, FALSE ); ShowScrollBar( SB_HORZ, FALSE );比较奇怪的是不可以直接: ShowScrollBar( SB_VERT|SB_HORZ, FALS
隐藏CListCtrl滚动条
今天做自绘CListCtrl的滚动条,需要先隐藏CListCtrl的自带滚动条,然后再将自己绘制的继承自CStatic的类,封装成滚动条,移动到CListCtrl原滚动条所在位置即可。但是遇到个头疼的问题,CListCtrl的滚动条隐藏不了。查询了好多资料,终于找到了答案: (以下文章摘自  http://blog.sina.com.cn/s/blog_48f93b530100eg3z.htm
如何去掉FormView的滚动条
在默认状态下,当FormView被压缩到一定大小时,会出现滚动条。   要去掉这种滚动条,需要在WM_SIZE消息处理函数下添加代码:    ShowScrollBar(SB_BOTH,FALSE);//垂直水平方向的滚动条都不显示。
MFC中的ListBox Control控件的水平滚动条设置
MFC中的ListBox Control控件的水平滚动条设置 最近使用到MFC中ListBox Control控件,在控件的属性中存在水平滚动条和垂直滚动条的设置,本以为都设置为True即可,可实际效果却不是这样。
MFC CScrollView 对大视图出现滚动条回滚问题的解决
CScrollView类中,若视图尺寸很大。 如100000*100000;void CLOView::OnInitialUpdate(){ CScrollView::OnInitialUpdate(); SetScrollSizes(MM_TEXT, CSize(100000,100000));}那么当拖动滚动框距离稍大一点时,就会出现回滚,即滚动框又回到0位置。原因:CScrollView使用的滚动条时已经"过时"的函数,即SetScrollRange和SetScrollPos函数。当响应WM_VSCR