Показать сообщение отдельно
Старый 21.07.2008, 10:36
vikingcompany вне форума Посмотреть профиль Отправить личное сообщение для vikingcompany Найти все сообщения от vikingcompany
  № 18  
Ответить с цитированием
vikingcompany
 
Аватар для vikingcompany

Регистрация: May 2008
Адрес: г. Макеевка
Сообщений: 200
Должен признать: да, действительно - Вы нашли очень оригинальное решение.
Такой параметр как maxVPosition - просто отличный критерий.
Я внедрил его в функцию открытия ветви по клику. Привожу фрагмент кода:
Код:
function ClickToOpen()
	{
	this.setIsOpen(this.selectedNode,!(this.getIsOpen(this.selectedNode)));
	this.vScrollPolicy = "on";
	this.setSize(this.width, 0);
	
	do {this.setSize(this.width, this.height + 1)}
	while (this.maxVPosition);	

	this.vScrollPolicy = "off";
	}
this.addEventListener("change", ClickToOpen);
Однако скорость работы Вашего решения оставляет желать лучшего :-(
Наряду с ним, я закончил другой алгоритм:
Код:
function ClickToOpen()
	{
var i:Number = 0;
do
 {
 i++;
this.selectedIndex = i;
 }
while (i < 100);
this.setSize(spesifications.width, (this.getDisplayIndex(this.selectedNode) + 1) * 23);	
	};
this.addEventListener("change", ClickToOpen);
Работает намного быстрее.
Число проходов 100 - произвольное и на скорость работы не влияет.
Коэффициент 23 нашёл методом подбора, для шрифта по умолчанию наиболее оптимальный.


Последний раз редактировалось vikingcompany; 21.07.2008 в 10:40.