Автоматическая прокрутка управления (WinAPI)? - PullRequest
1 голос
/ 01 июня 2010

В C # (.Net) вы можете создать панель и установить автопрокрутку на true. затем вы можете добавить в него элементы управления, в том числе за его размер, и он будет прокручиваться.

Мне было интересно, если бы при использовании реального WinAPI в c ++ (не .net) можно было получить тот же результат.

Должен ли я следить за элементами управления внутри и перемещать их все во время прокрутки или есть более простой способ, как в C #.

Спасибо

1 Ответ

0 голосов
/ 01 июня 2010

Для элемента управления редактирования (текстовое поле) вы можете указать ES_AUTOVSCROLL при создании его через CreateWindow или CreateWindowEx. Для добавления полосы прокрутки для нескольких элементов управления в окне, я считаю, что вы должны сделать это вручную. Напишите функцию для суммирования вертикальной высоты всех дочерних элементов управления + расстояния между ними и, если она меньше окна, добавьте вертикальную полосу прокрутки, если она больше, удалите вертикальную полосу прокрутки (если она существует). Обязательно вызывайте это после добавления / удаления дочерних элементов управления и изменения размера окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...