CScrollView的滚动条怎么隐藏

pritry 2010-12-18 12:33:20
我 从CScrollView 继承 了 一个 cMyView 类

又重自绘了一个 cMyScrollBar 控件 m_wndScroll

现在想用它来控制 view 的滚动,这样就必须隐藏掉CScrollView的默认滚动条

void CScrollView ::OnSize(UINT nType, int cx, int cy)
{

ShowScrollBar(SB_BOTH, FALSE);

int nWidth = GetSystemMetrics(SM_CXVSCROLL);

m_wndScroll.MoveWindow(cx-nWidth, 0, nWidth, cy);



CScrollView::OnSize(nType, cx, cy);
}

void CScrollView ::OnDraw(CDC* pDC)
{
.......
if(m_wndScroll.IsWindowVisible())
{
int nWidth = GetSystemMetrics(SM_CXVSCROLL);
rect.right -= nWidth;
}
//我并没刷新滚动条区域


.......
}

BOOL CScrollView ::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}

但是当scrollview改变大小时候,我的滚动条会不断闪烁,还受原来的默认滚动条刷新干扰,但不是
ShowScrollBar(SB_BOTH, FALSE);

已经隐藏了吗?求助,谢谢啦!!!!


...全文
635 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
微笑的鱼 2011-01-12
  • 打赏
  • 举报
回复
获取滚动条的窗口指针,然后ShowWindow(FALSE),看行不行。
向立天 2011-01-12
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖

相关规定详见界面界面版关于版主结帖工作的具体办法
无边1 2011-01-12
  • 打赏
  • 举报
回复
把滚动条size设置为(0,0)

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧