关于CScrollView中的滚动条的显示

thinp 2005-06-16 04:03:08
我建了一个CScrollView的类,当SetScrollSizes之后,滚动条显示了,我想隐藏它,让滚动条不显示,如何做?就是一个思想,滚动条想看见就看见,不想看见就看不见,用开关控制着
...全文
285 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdeee 2005-06-22
  • 打赏
  • 举报
回复

有问题么?那现在还有两个办法:
1、响应 WM_NCCALCSIZE ,用调整非客户区尺寸的办法将要隐藏的滚动条推到边框外面去。要隐藏的时候,设置隐藏标志(为了在响应WM_NCCALCSIZE消息的时候判断是隐藏还是显示)后发送 WM_NCCALCSIZE 消息就可以了。
2、从 CView 继承,然后自己为视图添加横纵滚动条。
thinp 2005-06-22
  • 打赏
  • 举报
回复
ShowScrollBar 是不可以的,不信可以试一下,因为CScrollView中的Scroll窗口是系统的,所以程序中得到的滚动条窗口名柄为空,调用ShowScrollBar马上会有异常发生
cdeee 2005-06-17
  • 打赏
  • 举报
回复

void ShowScrollBar (UINT nBar, BOOL bShow = TRUE );

nBar 指定要显示或者隐藏的滚动条,可以是以下值:
SB_BOTH - 操纵纵横两个滚动条;
SB_HORZ - 操纵横向滚动条
SB_VERT - 操纵纵向滚动条
bShow 指定是显示还是隐藏
koko1998 2005-06-17
  • 打赏
  • 举报
回复
CSize sizeTotal;
sizeTotal.cx = 0;
sizeTotal.cy = 0;

SetScrollSizes(MM_LOENGLISH,sizeTotal);

在这么做一次。

ps:视图里面画的东西就无法控制边界了
这就是为什么使用滚动试图的原因吧!
goodboyws 2005-06-16
  • 打赏
  • 举报
回复
你的意思是保留当前滚动位置?你可以试一下WM_NCCALCSIZE消息,应该可以把滚动条隐藏掉
thinp 2005-06-16
  • 打赏
  • 举报
回复
我还需要它的设置当前位置的事件
thinp 2005-06-16
  • 打赏
  • 举报
回复
这样不行,这样视图里面画的东西就无法控制边界了
goodboyws 2005-06-16
  • 打赏
  • 举报
回复
再SetScrollSizes一次啊

15,979

社区成员

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

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