Windows API是否具有滚动条控件?

在Delphi中,有一个名为TScrollBox的组件,它允许您向TImage组件添加滚动条。

我需要在纯Windows API中为图像添加滚动条。 那么Windows API有这样的控制吗? 我发现的只是这篇1993年的文章 !

如果没有,那么如何向我的图像添加滚动条?

Windows API提供两种类型的滚动条 :

一个是独立的Scroll Bar控件,它有自己的窗口句柄。

另一个附加到具有WS_HSCROLL和/或WS_VSCROLL 窗口样式的窗口 。 后者是非客户端滚动条而不是控件。 因此它没有窗口把手。 要操作非客户端滚动条,请将包含窗口的窗口句柄与nBarnBar一起作为nBar参数传递给相应的滚动条函数。


最完整的滚动条指南(来自The Old New Thing ):

  • 临时程序
  • 滚动条,第2部分
  • 滚动条,第3部分:优化油漆循环
  • 滚动条,第4部分:添加比例滚动条 ( 练习答案 )
  • 滚动条的键盘辅助function
  • Scrollbars bart 6 – 轮子
  • 滚动条第7部分 – 完整性
  • 滚动条第8部分 – 整体交互式resize ( 练习答案 )
  • 滚动条第9部分 – 维护隐喻
  • 滚动条第10部分 – 更深入地了解WM_NCCALCSIZE消息 ( 练习答案 )
  • 滚动条第11部分:更深入地了解WM_NCCALCSIZE消息 ( 练习的答案 )
  • Scrollbars第12部分:将WM_NCCALCSIZE应用于我们的滚动条示例
  • Scrollbars redux:第12部分

是的,Win32定义了一个滚动条类,在此处记录: https : //msdn.microsoft.com/en-us/library/windows/desktop/bb787529.aspx