在 C# (.Net) 中,您可以创建面板并将自动滚动设置为 true。然后您可以向其中添加控件,包括超出其大小的控件,然后它就会滚动。
我想知道在 c++(而非 .net)中使用真正的 WinAPI 时如何才能达到相同的结果。
我必须跟踪内部控件并在我滚动时移动它们,还是有像 C# 中那样更简单的方法。
谢谢
最佳答案
对于编辑控件(文本框),您可以在通过 CreateWindow 或 CreateWindowEx 创建时提供 ES_AUTOVSCROLL。要在窗口中为多个控件添加滚动条,我相信您必须手动完成。编写一个函数来求和所有子控件的垂直高度+它们之间的间距,如果它小于窗口,则添加一个垂直滚动条,如果它更大,则删除垂直滚动条(如果存在)。请务必在添加/删除子控件和调整窗口大小时调用它。
关于c# - 自动滚动控件(WinAPI)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949892/