Показать сообщение отдельно
Старый 17.08.2007, 15:05
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 24  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Этот пример я сделал где-то в мае
Код:
import TextField.StyleSheet;
//// обычный цвет и цвет при наведении на ссылку
var css:String = "A {color: #000000;}, A:HOVER {color: #000001;}, .test {color: #FF0000;}";
var style:StyleSheet = new StyleSheet ();
style.parseCSS (css);
var txt:TextField = this.createTextField ("txt", 0, 10, 10, 200, 200);
txt.html = true;
txt.multiline = true;
txt.wordWrap = true;
txt.styleSheet = style;
txt.border = true;
////  пример текста
txt.htmlText = "<font size='20'>ABC <a href='#'>DEF</a> GHI <a class='test' href='#'>JKL</a></font><br>";
//// описываем ссылки
var arrayLink:Array = [];
//// pos - позиция первого символа ссылки
//// valOver - цвет до наведения
//// valOut - цвет при наведении (всегда совпадает с A:HOVER)
//// msg - произвольный текст
arrayLink.push ({pos:5, valOver:0x000001, valOut:0x000000, msg:"ссылка 1"});
arrayLink.push ({pos:13, valOver:0x000001, valOut:0xFF0000, msg:"ссылка 2"});
this.onEnterFrame = function () {
	for (var i:Number = 0; i < arrayLink.length; i++) {
		var obj:Object = arrayLink[i];
		var fmt:TextFormat = txt.getTextFormat (obj.pos, obj.pos + 1);
		if (!obj.d) {
			obj.d = obj.valOut;
		} else if (fmt.color != obj.d) {
			if (fmt.color == obj.valOver) {
				trace (obj.msg + " RollOver");
			}
			if (fmt.color == obj.valOut) {
				trace (obj.msg + " RollOut");
			}
			obj.d = fmt.color;
		}
	}
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop