Показать сообщение отдельно
Старый 14.06.2007, 06:48
Torero вне форума Посмотреть профиль Отправить личное сообщение для Torero Найти все сообщения от Torero
  № 19  
Torero
 
Аватар для Torero

Регистрация: May 2007
Адрес: Moscow
Сообщений: 263
Доброго времени суток!
Решить задачку, в целом, получилось.. данный код, будучи вставленным в 1й фрейм, адекватно выравнивает текстовое поле..(autoSize не срабатывает на htmlText-е - проблема на уровне Macromedia - с этим приходится мириться.)

Код:
this.createTextField("tContent", this.getNextHighestDepth(), 0, 0, 40, 40);
tContent.html = true;
tContent.border = true;
tContent.multiline=true;
tContent.htmlText = "Дядька: <img id='pic' width='320' height='430' align='center' vspace='0' hspace='1'src='http://www.bibliotekar.ru/kVinci/14.files/image001.jpg'>";
function checkPic():Void {
	var nLoaded:Number = tContent.pic.getBytesLoaded();
	var nTotal:Number = tContent.pic.getBytesTotal();
	if(nLoaded/nTotal >= 1 && tContent.pic._width > 0) {
		trace("!");
		tContent._width = tContent.pic._width;
		tContent._height = tContent.pic._height+tContent.textHeight;
		clearInterval(nInterval);
	}
}
var nInterval:Number = setInterval(checkPic, 100);

Можно было-бы начать рассуждать про очередную победу отечественного интеллекта над буржуйской техникой, если-бы не один вопрос.. почему аналогичный код, будучи вставленным в класс у меня не работает? Где ошибка?


Код:
import mx.core.UIObject;
class classes.C extends UIObject{
	public var a:TextField;
	
public function C(){
	a=this.createTextField("tContent", this.getNextHighestDepth(),0, 0, 40, 40);
	a.html = true;
	a.multiline=true
	a.wordWrap=true;
	a.border=true;
	a.htmlText = "Мужык: <img id='pic' width='320' height='430' align='center' vspace='0' hspace='1' src='http://www.bibliotekar.ru/kVinci/14.files/image001.jpg'>";

	function checkPic(tContent:TextField){
		trace("!");
		var nLoaded:Number = tContent.pic.getBytesLoaded();
		var nTotal:Number = tContent.pic.getBytesTotal();
		if(nLoaded/nTotal >= 1 && tContent.pic._width > 0) {
			trace("!!!");
			tContent._width = tContent.pic._width;
			tContent._height = tContent.pic._height+tContent.textHeight;
			clearInterval(nInterval);
		}
	}
var nInterval:Number = setInterval(checkPic(a), 100);
}
}


Последний раз редактировалось Torero; 14.06.2007 в 06:54.