【问题标题】:Auto scrolling control (WinAPI)?自动滚动控件(WinAPI)?
【发布时间】:2010-06-01 12:59:04
【问题描述】:

在 C# (.Net) 中,您可以创建一个面板并将自动滚动设置为 true。然后你可以在其中添加控件,包括超出它的大小,然后它会滚动。

我想知道在 c++(不是 .net)中使用真正的 WinAPI 时,如何获得相同的结果。

我必须跟踪里面的控件并在滚动时将它们全部移动吗?或者有没有像 C# 那样更简单的方法。

谢谢

【问题讨论】:

    标签: c# c++ c winapi


    【解决方案1】:

    对于编辑控件(文本框),您可以在通过 CreateWindow 或 CreateWindowEx 创建它时提供 ES_AUTOVSCROLL。要在一个窗口中为多个控件添加滚动条,我相信你必须手动完成。编写一个函数来计算所有子控件的垂直高度+它们之间的间距,如果它小于窗口,则添加一个垂直滚动条,如果它较大,则删除垂直滚动条(如果存在)。请务必在添加/删除子控件和调整窗口大小后调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多