我有一个CWnd类名mywindow的成员
我想添加一个滚动条。
我怎么做?
我已经尝试过了:
mywindow.EnableScrollBarCtrl(SB_BOTH,TRUE);
它显示水平和垂直滚动条,
但我无法按下按钮或移动滚动条。
我也在第一个命令后尝试:
mywindow.EnableScrollBar(SB_BOTH,ESB_ENABLE_BOTH);
它没有任何改变。
有人可以向我展示一个如何向此成员添加滚动条的简单示例吗?
非常感谢,
塔尔
答案 0 :(得分:1)
启用滚动条是不够的。您必须对窗口消息WM_HSCROLL
和WM_VSCROLL
做出反应。使用GetScrollInfo
方法获取滚动条的位置(值),然后根据此位置绘制窗口内容。
答案 1 :(得分:0)
滚动条变为活动状态之前必须有一些“溢出”。
在您的视图中写一些“足够长”的数据,滚动条将变为活动状态(至少,这是我以前的体验)。
通常,滚动条会从MFC组件(例如)文本编辑器或表单视图中“自动”处理。即在没有显式调用EnableScrollBarCtrl ...
的情况下,在需要时也会变得可见答案 2 :(得分:0)
查找一些滚动条教程,例如http://www.codeproject.com/KB/dialog/scrolling_support.aspx。从本质上讲,上面的dwo注释是你需要做的 - 处理这些消息并设置虚拟客户区的大小。