2015-03-24 2 views
0

Итак, я искал это на Stackoverflow, CodeProject, Google, Microsoft, [...] последние несколько часов. Кажется, я не могу найти это.Динамически расширяющаяся полоса прокрутки?

  • CDialogEx
    • CFormView
      • CScrollbar

Как я могу изменить размер моего CScrollBar динамически, чтобы расширить (по горизонтали и по вертикали), чтобы соответствовать содержимое, которое оно нарисовано/добавлено? (CButton, CEdit и т. Д. Добавляются внутрь во время выполнения).

Все попытки с ->MoveWindow и ->SetWindowPos потерпели неудачу.
Я пробовал много раз перегружать OnSize и OnVScroll функции ... низкий успех.

Может возникнуть проблема CFormView? Должен ли я нарисовать CScrollBar в CDialogEx? Будет ли это работать? Это мой первый раз, используя CFormView, я не очень хорошо это знаю ...

ответ

1

Размер полосы прокрутки должен быть установлен в соответствии с максимальной степенью содержимого окна, то есть с диапазоном изображения, которое пользователь может видеть с помощью прокрутки , Это не зависит от размера окна. См. Документацию для CScrollView :: SetScrollSizes

+0

Отлично, большое вам спасибо (оставив это на случай, если кому-то это понадобится). 1. Задайте размер по умолчанию максимум и сохраните 'SIZE' в классе. 2. Проверьте, будет ли новый добавленный контент больше текущего предела, если это так: 3.1 Используйте 'CScrollView :: SetScrollSizes' для его расширения. - Да, мне это нужно. – Blacktempel

Смежные вопросы