1

我设计了一个工具箱控件。它位于 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

4

1 回答 1

0

您是否通过调用 SetScrollSizes 进行了初始化?仅当 sizeTotal 大于视图窗口大小时,才会启用滚动条。

于 2014-07-18T13:56:34.507 回答