#c #winapi #dialog #scrollable
#c #winapi #диалоговое окно #прокручиваемый
Вопрос:
У меня есть диалоговое окно Win32 Windows на C с несколькими элементами. В настоящее время внизу находится расширенный элемент управления редактированием, а в правом верхнем углу — древовидный список, созданный в редакторе ресурсов. Я программно добавил к нему другие поля редактирования и флажки в пространстве вверху слева. Однако, в зависимости от контекста, иногда не хватает места. Итак, я хочу создать в диалоговом окне какое-то «окно» с полосами прокрутки, в которое я прикрепляю все свои элементы управления редактированием и флажки, чтобы оно прокручивалось при необходимости и, конечно, вырезало, идеально в пикселях, те, которые находятся за пределами диапазона полос прокрутки.
Я попытался создать родительское окно «редактировать» с полосой прокрутки и добавить в него все дочерние окна редактирования и флажки, но у него проблемы с отрисовкой, он не позволяет мне нажимать на мои элементы управления редактированием и не обрезается. Очевидно, что это не должно быть сделано именно так.
Итак, возможно ли это? Должен ли я сам обрабатывать полосы прокрутки? Или есть какая-то волшебная настройка Windows, которая позволит это …?
Спасибо
Шон Саузерн
Комментарии:
1. Вероятно, будет проще самостоятельно обрабатывать полосы прокрутки и настраивать положения элементов управления в зависимости от положения прокрутки.
2. Да, я нашел образец кода и создал новый «класс» с собственным dialogproc и прикрепил к нему все мои кнопки. Он отлично обрезается, и я сам обрабатываю полосы прокрутки, затем перемещаю каждую из кнопок на величину прокрутки. Не уверен, смогу ли я добавить один элемент в новый класс «pane», затем добавить туда свои кнопки, а затем переместить этот элемент, но, похоже, это работает, хотя я все еще получаю проблемы с перерисовкой / мерцанием…