Конференция "Компоненты" » свое подобие скроллбара [D6, D7, WinXP]
 
  • krotik (10.04.07 07:09) [0]
    Люди добрые!
    Пытаюсь написать свой вертикальный сроллбар(на TCustomControl).
    Прокручиваю методом scrollby(0,dy).
    Вопрос состоит в следующем: как определить высоту самого ползунка, а так же его вертикальное смещение?
    Теперь попытаюсь более подробно: имеется некая область высотой FullHeight; есть видимая область высотой Height.
    Минимальное значение скроллбара = 1, а максимальное FullHeight-Height; Текущее положение ползунка - Position мы так же знаем.
  • krotik (10.04.07 07:10) [1]
    P.S: сижу с этим уже черт знает сколько, но так ничего и не добился...
  • DimaBr (10.04.07 13:38) [2]
    Не вижу причины наследоваться от TCustomControl, если родной
    TScrollBar = class(TWinControl)


    Вообще не вижу причины писать новый.
  • krotik (10.04.07 16:22) [3]
    Проблема не в том стоит или нет... Если б мне хватило простого наследования я б сюда не отписывал...
  • DimaBr (10.04.07 16:55) [4]

    >  как определить высоту самого ползунка, а так же его вертикальное смещение?

    Пристально смотрим на TScrollBar
    1. Высота ползунка - Max/PageSize
    2. Position
  • krotik (10.04.07 22:18) [5]
    Млин... математика...
    Столько протрахался, простите за выражение)
    высота ползунка = sqr(Height)/FullHeight
    Смещение = (Position*(PageSize/Height))

    Чтож разобрался сам, но мож у кого подобная трабла возникнет...
 
Конференция "Компоненты" » свое подобие скроллбара [D6, D7, WinXP]
Есть новые Нет новых   [119244   +4][b:0][p:0.001]