Я протыкал там всё настойки вдоль и поперёк, к сожелению не в них проблема. Аргументы ниже.
Это происходит даже если они оба (SpaceSize и BlockSize) на 0, в таком случае полоса прогреса непрерывная и тоже прыгает сразу с нуля дальше чем надо. Тут важнее настройка ShowFullBlock, если true то рисован будет только целый блок (BlockSize ширеной) и только тогда когда Position будет уже за блоком (то есть блок должен быт полным, если меньше - он непрорисовываетса вообще), если false то полоса прогреса хоть и будет поделена на блоки (с BlockSize ширеной) и пробелы (с SpaceSize ширеной), но часть блока всёравно будет прорисована (четверть, половина, итд) полностью независимо от значений SpaceSize и BlockSize.
У меня ShowFullBlock везде false.
Если я вообще не валенок... то надо бы "следить" что происходит с fPosition, fMinVisPos, fUSefullDrawSpace и процедурами SetPosition (тут ест интересный коментарий который я до конца не понемаю) и Paint. Коментарий возле fMinVisPos тоже не очень ясен: Minimum position to send to Paint(), to see at least one bar. А так то неслушайте меня, я тут могу сильно тупить...
|