Просмотр полной версии : transparent TextField не прокручивает текстовое поле
Проблема в том что firefox отказывается прокручивать текстовые поля при включенном transparent!!!!
Как с этим боротся, на форуме много вопросов по transparent,но отнасительно текстовых полей я ничего не нашел, подскажите кто сталкивался!
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1024" height="768" id="site" align="center">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="site.swf" />
<param name="menu" value="false" />
<param name="quality" value="best" />
<param name="scale" value="noborder" />
<param name="wmode" value="transparent" />
<param name="bgcolor" value="#ffffff" />
<embed src="site.swf" menu="false" quality="best" scale="noborder" wmode="transparent" bgcolor="#ffffff" width="1024" height="768" name="site" align="center" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
Должен быть прозрачный фон!
Уважаемый etc, если бы можно сделать не прозрачным то канешно бы я так и поступил и не замарачивался бы с прокруткой и firefox'ом, но требуется именно прозрачный фон флэшки ... так как она будет грузится на сайт у которого фоновое изображение подгружатся будет динамически в зависимости от разрешения монитора.
Если можете предложить решение, с радость вас выслушаю=)
Вам же подсказали уже - сделайте прокрутку не самого текстового поля, а мувика, где он расположен. Например, используя scrollPane.
Найдите любой пример по использованию этого компонента.
Добавлено через 3 минуты
Допустим, на сцене есть общий мувик rez_mc. Помещаете в него компонент scrollPane, даете ему имя sp , подгоняете размеры, а в библиотеке должен быть пустой мувик, например, с идентификатором связывания clear_pane. (То есть с linkage). И еще один пустой мувик с идентификатором rez_txt.
Затем такой код (взят из моего проекта, так что кое-что может лишним оказаться, размеры тоже подогнать нужно).
var rez:MovieClip = rez_mc;
rez.sp.contentPath = 'clear_pane';
rez.sp.vScrollPolicy = 'auto';
rez.sp.hScrollPolicy = 'off';
rez.sp.setStyle('borderStyle', 'none');
var spContent = rez.sp.spContentHolder;
spContent._focusrect = false ;
var txt:MovieClip = spContent.attachMovie ('rez_txt', 'reztxt_mc', 0);
var reztext:TextField = txt.createTextField('txt_tf', 0, 0, 0, 476, 180);
reztext.border = false ;
reztext.type = 'dynamic';
reztext.autoSize = true ;
reztext.selectable = true ;
reztext.multiline = true ;
reztext.wordWrap = true ;
reztext.html = true ;
reztext.embedFonts = true ;
//грузим, если надо, стили, если их нет, не грузим :)
var styles:TextField.StyleSheet = new TextField.StyleSheet();
styles.onLoad = function(success:Boolean) {
if (success) {
reztext.styleSheet = styles;
} else {
rectext.htmlText = 'Ошибка загрузки CSS-файла.';
}
};
styles.load('srezult.css'); //оформление поля вывода результатов
//получение данных, куда нужно, поставьте сами:
var lv:LoadVars = new LoadVars ();
lv.onData = function (src:String) {
if (src) {
src_cutted = src.split('\n').join(''); //убираем лишние переводы строк, если не нужно, уберите
reztext.htmlText = src_cutted;
}
else {
reztext.htmlText = 'Ошибка обработки запроса';
}
rez.sp.redraw(true); //обновление scrollPane
rez.sp.vPosition = 0; //вывод scrollPane в верхнюю позицию просмотра
};
lv.load('search.php');
Пример выдран из живого проекта (выдача результатов поиска) и немного поправлен , так что подпилить нужно, если не работает или что лишнее.
Принципы, главное, поймите.
PS. Можно попробовать обойтись без мувика rez_txt (Не помню уже, для чего я его вводил.), тогда его аттачить не нужно, а нужно сразу создавать пустое текстовое поле внутри spContent.
Наличие внешнего контейнера rez_mc тоже не обязательно.
PPS. Еще может появиться зеленая рамка в FF, при клике по активным элементам scrollPane. Как с ней бороться, тут, на форуме, обсуждалось, и у людей, вроде бы получилось.
Пожалуйста. Но попробуйте сперва, потом благодарить будете, наверняка сразу не все получится.. да и я мог где-то ошибиться, ведь пример выдран из контекста.. :)
Да, еще вот что. Про embedFonts не забудьте - все виды шрифтов (normal, bold, italic, italic-bold, если надо), которые использовать будете, нужно внедрить в доп. поля где-нибудь вне видимости сцены.
Вообще на 1-м этапе лучше закомментировать эту строку и добиться работы, не внедряя шрифт, и не используя html-форматирование.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.