我设计了一个工具箱控件。它位于CDockablePane对象中。由于其中的工具可能需要滚动,我已经创建了一个CScrollView作为窗格的子项,并将工具作为子项插入其中。根据窗格大小,CScrollView对象的滚动条显示正确,但单击它们不会滚动视图。他们似乎已经被禁用了。当我在创建CScrollView时使用SS_NOTIFY样式时,CScrollView对象会收到鼠标单击,但是当我不使用该样式时,它不会。但似乎视图控件内的滚动条不会获得点击。当鼠标悬停在它们上方时,滚动条中不会出现视觉效果。似乎滚动条被禁用,而我没有创建或操纵它们。 怎么了? 鼠标滚轮工作。滚动视图接收单击滚动条,而不是滚动条。在处理程序中,我写了这段代码:
CScrollBar *pScroll = GetScrollBarCtrl(SB_VERT);
if (pScroll->GetSafeHwnd())
{
...
如果不是这样的话。这意味着滚动视图没有滚动条,但如果是这样,它是如何显示的?! 任何的想法? ... 由于我没有得到答案,我将用示例代码澄清我的问题: https://dl.dropboxusercontent.com/u/4829119/930501%20-%20t3.zip 在这个示例中,我如何像其他视图一样滚动视图,如类视图和文件视图? 示例代码截图: https://www.dropbox.com/s/7pu5chpyj9hqeal/Screenshot%202014-07-23%2003.40.26.png
答案 0 :(得分:0)
您是否通过调用SetScrollSizes进行初始化?仅当sizeTotal大于视图窗口大小时才会启用滚动条。