PDA

Просмотр полной версии : Scrollbar-компонент не реагирует на подгружаемый из внешнего источника текст


Azrael'
01.12.2003, 16:58
Подскажите, кто знает, почему Scrollbar-компонент не реагирует на подгружаемый из внешнего источника текст?
Если простое текстовое поле - пожалуйста!
А если в текстовое поле подгружать текст из внешнего *.тхт - "ползунок" не работает.
Он как-бы не знает сколько у текстового поля вышло строк. :)

Nox Noctis
01.12.2003, 19:33
должно работать

исходник в студию :)

DUDE
01.12.2003, 22:14
Делается очень просто:
но для осуществления этого нужна схема выглядит она так:
загружаем переменные,,, дожидаемся загрузки ,,, отображаем!!!
Ты делаешь так:
загружаем переменные,,, ?????,,, отображаем!!!

Вообщем не успевают у тебя загрузится переменные а ты их в текстовое поле!
Ключевое слово подождать !

Azrael'
02.12.2003, 11:09
DUDE, Переменные успевают подгрузится
Текст отображается, и скролиться обычными способами - с клавы и скроллером мыши
Но необходим скроллбар (специально для "продвинутых" книголюбов).
Мне это вообще для локальной версии нужно, для электронного варианта книги (на CD)

То: Nox Noctis Цепляю паровозом облегчённый исходник (Только скролбар, текстфилд, и скрипт)

Nox Noctis
02.12.2003, 12:44
проблема, отчасти, именно в том о чем сказал DUDE...

у тебя сначала инициализируется скроллбар (растягивается, настраивает "ползунок"), а потом уже в поле попадает текст. текст грузится НЕ МГНОВЕННО.

можно сделать например так:
System.useCodepage = true;
this.loadVariables("h08.txt")
this.onData = function() {
// scr - это имя скроллбара...
scr.setScrollTarget(z00);
// или:
// scr.onTextChanged();
};

да, и еще -
68 кило текста - это не особо много, но при загрузке с локалки все приходит одним куском, так что на время загрузки все подвисает... стоит разбить текст на части и грузить их по очереди, пользователь все равно не заметит

Azrael'
02.12.2003, 13:08
Огромное Чипасиба!
Всё зароботало!
Там разбита по главам 500-страничная книжка.
68 кило - это самая крупная глава
остальные в среднем - около 15-20ти.