tags:

views:

52

answers:

1

In C# (.Net) you can create a panel and set autoscroll to true. you can then add controls into it, including beyond it's size, then it will scroll.

I was wondering if when using the real WinAPI in c++ (not .net) how one could acheive the same result.

Must I keep track of the controls inside and move them all when I scroll or is there an easier way like in C#.

Thanks

A: 

For an edit control (textbox), you can supply ES_AUTOVSCROLL when creating it via CreateWindow or CreateWindowEx. For adding a scrollbar for multiple controls in a window, I believe you have to do it manually. Write a function to sum the vertical height of all the child controls + spacing between them and if it's smaller than the window, add a vertical scroll bar, if it's larger, remove the vertical scroll bar (if it exists). Be sure to call this after adding/removing child controls and on window resize.

Eloff