Всем добрый день.
Вот столкнулся с такой фигней. В С55 появилась опция простмотра файла в листбоксе с опцией FileLoaded. Под С4 такого не было, а понадобилось. Ну рихтанул классы и шаблоны. Появилось все и в С4. Сделал тестовое приложение. Все работает. Вот только скроллинг глючит. Что имеется ввиду. Идем по очереди стрелкой вниз. Где-то в районе 4-5 элемента списка бегунок прокрутки улетает в 100%, хотя еще и половина списка не пройдена.
Думал, проглючил я. Проверил под С55, в родной среде - эффект тот же. Начал ковырять проперть VScrollPos. Выяснил что у него пароноидальное поведение. У него max не 100 - как написано в доке, а число от 13 до 16 в зависимости от размера очереди. Т.е. если присваивается:
Pos = 20
?List{PROP:VScrollPos} = Pos
Message(?List{PROP:VScrollPos}) дает 13. Это как?????
С уважением, Ставич Олег
Укрсиббанк г.Харьков
oldstav@ukrsibbank.com
Написал: ClaList(2)
Глюки VScrollPos
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аналогично ведет себя и PROP:HScrollPos.
В просмотрщике текстовых отчетов я поправил малость код Вадима и теперь стрелками влево-вправо можно прокручивать отчет не только на десять позиций.
Главное - не доверять значениям, которые возвращают эти пропы. Просто - завести свой счетчик и работать именно с ним и нужные значения "вбивать" в эти проперти. Все работает нормально.
=============================
С уважением, Олег А. Руденко.
Oleg_Rudenko@mail.ru
Oleg_Rudenko@mail333.com
Библиотека DynaLib
http://dynalib.narod.ru
(Добавление)
100 - это когда ты ставишь IMM и берешь все управление прокруткой на себя (как при постраничной загрузке). При файловой загрузке СНИМАЕШЬ IMM и все работает само собой, и ползунок показывает положение в очереди и ес-но нормирован на размер очереди.
WBR, Nick Tsigouro. MailTo:Nick@arsis.ru
А там IMM must be. И прокруткой управляю я, о чем и идет речь. Только глючит оно.
С уважением, Ставич Олег
Укрсиббанк г.Харьков
oldstav@ukrsibbank.com
Не будет оно работать как Вы хотите.
На коротких очередях будет длинная ашипка.
Vasiliev B <soft2@mail.redcom.ru>
Написал: ClaList(2)
В просмотрщике текстовых отчетов я поправил малость код Вадима и теперь стрелками влево-вправо можно прокручивать отчет не только на десять позиций.
Главное - не доверять значениям, которые возвращают эти пропы. Просто - завести свой счетчик и работать именно с ним и нужные значения "вбивать" в эти проперти. Все работает нормально.
=============================
С уважением, Олег А. Руденко.
Oleg_Rudenko@mail.ru
Oleg_Rudenko@mail333.com
Библиотека DynaLib
http://dynalib.narod.ru
(Добавление)
100 - это когда ты ставишь IMM и берешь все управление прокруткой на себя (как при постраничной загрузке). При файловой загрузке СНИМАЕШЬ IMM и все работает само собой, и ползунок показывает положение в очереди и ес-но нормирован на размер очереди.
WBR, Nick Tsigouro. MailTo:Nick@arsis.ru
А там IMM must be. И прокруткой управляю я, о чем и идет речь. Только глючит оно.
С уважением, Ставич Олег
Укрсиббанк г.Харьков
oldstav@ukrsibbank.com
Не будет оно работать как Вы хотите.
На коротких очередях будет длинная ашипка.
Vasiliev B <soft2@mail.redcom.ru>
Написал: ClaList(2)
Привет, Всем!
Глюка действительно такая есть (кроме C5, там вроде нет). Я вышел из положения поставив в начало рутины, которая у меня устанавливает PROP:VScrollPos такой код:
Удачи!
__________________________________
Владимир Якимченко (ICQ: 16993194)
Написал: ClaList(2)
Глюка действительно такая есть (кроме C5, там вроде нет). Я вышел из положения поставив в начало рутины, которая у меня устанавливает PROP:VScrollPos такой код:
Код: Выделить всё
SetScrollRange(?MyList{PROP:Handle}, SB_VERT, 0, 100, TRUE)
где
SB_VERT EQUATE(1)
MAP
MODULE('Windows API')
SetScrollRange ( HWND hWnd, ! handle to
window with scroll bar
SIGNED nBar, ! scroll bar flag
SIGNED nMinPos, ! minimum
scrolling position
SIGNED nMaxPos, ! maximum
scrolling position
BOOL bRedraw ! redraw flag
),BOOL,PROC,PASCAL
END
END ! MAP
__________________________________
Владимир Якимченко (ICQ: 16993194)
Написал: ClaList(2)