Как создать бесконечный элемент прокрутки с помощью Windows Core API? - PullRequest
0 голосов
/ 16 сентября 2008

Как мне сделать один? Я новичок в Windows API. Есть ли какое-то руководство для такого рода вещей? Я особенно заинтересован в Core API. Спасибо за любую помощь.

Ответы [ 2 ]

2 голосов
/ 13 октября 2008

Существует три способа создания полос прокрутки: полоса прокрутки окна; управление полосой прокрутки; или пользовательский элемент управления.

Окна имеют полосы прокрутки в не-клиентской (NC) области. Они являются частью оконной рамы и поэтому не имеют своих собственных оконных дескрипторов или чего-либо еще.

Элементы управления полосой прокрутки являются реализациями дочерних окон полосы прокрутки. Поскольку они являются дочерними окнами, они предлагают вам немного больше гибкости. Вы можете создать подкласс или суперкласс одного из этих элементов управления для реализации «бесконечной» функциональности.

Последний вариант - настраиваемый элемент управления: вы просто создаете собственную полосу прокрутки с нуля. Создайте одно дочернее окно, нарисуйте его самостоятельно, обработайте все данные, вводимые мышью и клавиатурой, и самостоятельно внедрите сообщения полосы прокрутки. На самом деле это не так сложно, как может показаться.

Я бы, вероятно, рекомендовал суперклассинг элемент управления полосы прокрутки. Обработайте сообщения прокрутки в собственной полосе прокрутки wndproc и вернитесь к стандартной полосе прокрутки wndproc для рисования и тому подобного.

0 голосов
/ 16 сентября 2008

Что вы имеете в виду под "бесконечным"?

Если вы имеете в виду полосу прокрутки, на которой пользователь никогда не сможет прокрутить до конца, вы должны обработать уведомления об изменении положения полосы прокрутки и сбросить положение до середины.

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