隐藏CListCtrl的滚动条
方法1:
void CSkinListCtrl::PreSubclassWindow()
{
 ModifyStyle(WS_BORDER, LVS_OWNERDRAWFIXED|LVS_NOSCROLL , SWP_NOSIZE);     //LVS_NOSCROLL的去掉,影响了表头的LayOut无法被调用

2011.8.10
 CHeaderCtrl *pHeader = GetHeaderCtrl();
 m_HeaderEx.SubclassWindow(pHeader->GetSafeHwnd());
 //   m_HeaderEx.m_bLockHead = true;  //锁定列表头
 
 CRect rcWin;
 GetWindowRect(&rcWin);
 WINDOWPOS wp;
 wp.hwnd = m_hWnd;
 wp.cx = rcWin.Width();
 wp.cy = rcWin.Height();
 wp.flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER;
 SendMessage(WM_WINDOWPOSCHANGED, 0, (LPARAM)&wp);

CListCtrl::PreSubclassWindow();
}

通过这种方法可以去掉,滚动条,然后自己重写滚动条。后来发现出现了问题,一个是禁用滚动条后,表头的宽度不能再修改,一个是当列表时

item数量超过108个后,就不会再向下滚动,原因还没发现。

方法2:后来这样做,还是看CodeProject鬼佬的代码来弄的。
void CSkinListCtrl::PreSubclassWindow()
{
 ModifyStyle(WS_BORDER, LVS_OWNERDRAWFIXED, SWP_NOSIZE);     //LVS_NOSCROLL的去掉,影响了表头的LayOut无法被调用 2011.8.10
 CHeaderCtrl *pHeader = GetHeaderCtrl();
 m_HeaderEx.SubclassWindow(pHeader->GetSafeHwnd());
 //   m_HeaderEx.m_bLockHead = true;  //锁定列表头
 
 CRect rcWin;
 GetWindowRect(&rcWin);
 WINDOWPOS wp;
 wp.hwnd = m_hWnd;
 wp.cx = rcWin.Width();
 wp.cy = rcWin.Height();
 wp.flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER;
 SendMessage(WM_WINDOWPOSCHANGED, 0, (LPARAM)&wp);

CListCtrl::PreSubclassWindow();
}

void CSkinListCtrl::InitList()   //在外面初始化的时候来调用
{
 m_iScrollHeight = 0;
 InitializeFlatSB(this->m_hWnd);
 FlatSB_EnableScrollBar(m_hWnd, SB_BOTH, ESB_DISABLE_BOTH);

CWnd* pParent = GetParent();
 //Create scrollbars at runtime
 m_SkinVerticleScrollbar.Create(NULL, WS_CHILD|SS_LEFT|SS_NOTIFY|WS_VISIBLE|WS_GROUP,CRect(0,0,0,0), pParent);
 m_SkinVerticleScrollbar.pListCtrl = this;
 //call this to position the scrollbars properly

PositionScrollBars();
 m_SkinVerticleScrollbar.SetScrollBkColor(RGB(221, 221, 221));

}
不知道为什么,我用了 InitializeFlatSB(this->m_hWnd);和FlatSB_EnableScrollBar(m_hWnd, SB_BOTH, ESB_DISABLE_BOTH);
滚动条依然无法被隐藏,只好再响应WM_NCCALCSIZE这个消息来隐藏滚动条。
void CSkinListCtrl::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp)
{
 UpdateWindow();
 ShowScrollBar(SB_VERT, FALSE);
 ShowScrollBar(SB_HORZ, FALSE);
 CListCtrl::OnNcCalcSize(bCalcValidRects, lpncsp);
}

需要源码的朋友,只需要下你的邮箱,我会将Codeprject的代码发给你。

转载于:https://www.cnblogs.com/yuzhould/archive/2011/10/24/4454967.html

重写CListCtrl滚动条,遇到的问题。相关推荐

  1. css 默认显示滚动条,css控制默认滚动条样式

    针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下: 滚动条组成部分 1. ::-webkit-scrollbar 滚动条整体部分 2. ::-webkit-scrollbar-t ...

  2. iScroll5 API速查随记

    版本 针对iScroll的优化.为了达到更高的性能,iScroll分为了多个版本.你可以选择最适合你的版本. 目前我们有以下版本: iscroll.js,这个版本是常规应用的脚本.它包含大多数常用的功 ...

  3. iScroll-5 API 中文版

    **iScroll的版本** 针对iScroll的优化.为了达到更高的性能,iScroll分为了多个版本.你可以选择最适合你的版本. 目前我们有以下版本: iscroll.js,这个版本是常规应用的脚 ...

  4. iScroll5 API速查

    版本 针对iScroll的优化.为了达到更高的性能,iScroll分为了多个版本.你可以选择最适合你的版本. 目前我们有以下版本: iscroll.js,这个版本是常规应用的脚本.它包含大多数常用的功 ...

  5. php 仪表盘模板,后台界面整体美化带仪表盘

    该插件主要有两点: 一.优化了后台管理页面整体UI和部分布局,使新后台更易于操作和提升管理效率作为F型管理界面固定了左菜单和顶部(顶部菜单左移靠近logo排列,插件主题新增的也会排在左边,更符合操作习 ...

  6. C/C++:Windows编程—MFC基于CWnd自绘CListCtrl控件且带滚动条

    文章目录 前言 效果图 代码思路 滚动条思路 完整代码 前言 由于工作需要,需要自绘类似CListCtrl那种控件 而且每项能带类似按钮的点击事件.所以笔者去进行研究,费了点时间写了个简单的自绘窗口 ...

  7. css滚动条样式重写(兼容ie和谷歌)

    博主在工作中遇到修改滚动条样式的情况,效果如下: 1.重写滚动条样式,兼容IE,谷歌. 2.鼠标移入元素显示滚动条,鼠标移出隐藏滚动条. 注意: 1.互不干扰:首先说明的是谷歌的css滚动条样式的写法 ...

  8. 重写Winform的Textbox单行模式下滚动条。

    C# Textbox,必须同时设置属性Multiline = True.ScrollBars=Horizontal.WordWrap=False才会显示出水平滚动条,且默认字体大小下,控件的Size. ...

  9. VC中CListCtrl设置滚动条在最下边的方法(MSDN中的例子)

    当插入一条新的记录时同时设置: m_listReport.EnsureVisible(nColumn,FALSE);//设置滚动条到最下面 nColumn为当前记录条数 MSDN中: https:// ...

最新文章

  1. TENSORFLOW较好的博客
  2. 十五个常用的 Laravel 集合(Collection)
  3. POJ 1106 Transmitters(计算几何)
  4. 一天搞定CSS:字体font--04
  5. 《Java程序设计》第五周学习总结
  6. 宝塔php的opcache模块未载入,宝塔面板CPU负载过高使用opcache扩展的解决方法
  7. 阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖
  8. Mybatis mapper代理SqlMapConfig.xml配置详解
  9. php 重新组合数组_PHP数组组合
  10. Python爬虫(十二)_XPath与lxml类库
  11. 基于互联网的摄像测量系统(D 题)-- 2021 年全国大学生电子设计竞赛
  12. Java完全自学手册pdf,flutter中文网
  13. 联机侠控制台JAVA_联机侠控制台常见问题 | 我的世界 | MC世界侠
  14. UML2.51边译边学-接口
  15. PAT甲级 英文单词汇总
  16. 实验3 SQL的复杂多表查询以及视图
  17. jquery之购物商城
  18. 深入浅出Java23种设计模式(一)
  19. 艾伟也谈项目管理,创建敏捷团队
  20. php写入日志到文件

热门文章

  1. c语言16x32点阵显示汉字,点阵16*32滚屏显示汉字
  2. mysql 当前记录集不支持书签_存储过程 分页。当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。...
  3. 年度重磅!中国《营销自动化应用基准报告 2021》正式发布!
  4. 打破技术型思维:产品经理的门槛在门里面
  5. 神策数据埋点大升级,一站式埋点,360° 满足你的不同场景需求
  6. 神策 FM |「聚焦」细分市场是独角兽诞生的营销关键
  7. Linux 上 GDM 登录界面如何适应高分屏
  8. C语言 · 交换Easy
  9. 类似Tinder APP的配对逻辑
  10. 【转】HashMap和HashSet的区别