В документации рекомендуется использовать SetScrollInfo
вместо SetScrollRange
и SetScrollPos
.
Как указывает Wouter , вам также необходимо установить размер страницы. Положение и диапазон сообщают ОС, где находится центр большого пальца, но размер страницы указывает, какая часть диапазона видна, а это , который определяет размер большого пальца. Вы должны использовать SetScrollInfo
для этого; в качестве бонуса он позволяет вам одновременно устанавливать позицию, диапазон и размер страницы.
TCustomControl
отличается от TWinControl
только одним: у него есть холст. TScrollingWinControl
отличается только одним способом: у него есть полосы прокрутки. Добавление холста к потомку TScrollingWinControl
должно быть намного проще, чем добавление полос прокрутки к потомку TCustomControl
- это меньше кода для копирования и вставки из исходного кода VCL. Измените базовый класс вашего элемента управления, а затем посмотрите, где вы находитесь.
Даже если это не вариант, вам все равно стоит посмотреть, как TScrollingWinControl
и TControlScrollBar
работают вместе.