daniel2surf 0 Denunciar post Postado Março 31, 2007 Pessoal, estou com 2 dúvidas:1ª - Como faço para exibir a barra de rolagem de um textfield só quando necessário? Tém algum método na classe textfield que indique se tem texto não sendo exibido, ou coisa do tipo?2ª - Alguém sabe como calcular a altura do "Pan" (barra que agente arrasta) da barra de rolagem para ficar proporcional a quantidade de conteúdo do textfield?Ele está funcionando bem, só tenho essas dúvidas para melhorá-lo, quem quiser aproveitar e usar, fique a vontade.Aí vai meu código do scrollBar.as: /** * ScrollBar para TextField* Tem q ficar na timeline do movie clip do scroll* */// tem que ser um textfieldvar alvo = _parent["texto"];trace( mcScrollBarPan._height );trace( alvo.maxscroll );// mmo em _y q o pan pode irvar miny:Number = Math.round( mcScrollBarTrack._y );// mmo em _y q o pan pode irvar maxy:Number = Math.round( mcScrollBarTrack._y + mcScrollBarTrack._height - mcScrollBarPan._height );// quando o cara pressionar o botao de cimamcScrollBarSetaCima.onPress = function (){ this.onEnterFrame = function() { //alvo.scroll--; if(mcScrollBarPan._y - 1 > miny) { mcScrollBarPan._y--; } else { mcScrollBarPan._y = miny; } } }// quando tirar o mousemcScrollBarSetaCima.onRelease = mcScrollBarSetaCima.onReleaseOutside = function (){ delete this.onEnterFrame;}// quando o cara pressionar o botao de baixomcScrollBarSetaBaixo.onPress = function (){ this.onEnterFrame = function() { //alvo.scroll++; if(mcScrollBarPan._y + 1 < maxy) { mcScrollBarPan._y++; } else { mcScrollBarPan._y = maxy; } } trace( alvo.maxscroll );} // quando tirar o mousemcScrollBarSetaBaixo.onRelease = mcScrollBarSetaBaixo.onReleaseOutside = function (){ delete this.onEnterFrame;}mcScrollBarPan.onEnterFrame = function(){ var s:Number = ((mcScrollBarPan._y-miny)/(maxy-miny))*100; var p:Number = alvo.maxscroll/100; // move o objeto alvo.scroll = p * s;}mcScrollBarPan.onPress = function (){ // inicia o arrastamento startDrag(this,false,this._x,miny,this._x,maxy);}mcScrollBarPan.onRelease = mcScrollBarPan.onReleaseOutside = function (){ // para o arrastamento stopDrag();}mcScrollBarTrack.onPress = function (){ mcScrollBarPan._y = Math.max(0, Math.min(this._height - mcScrollBarPan._height, (this._ymouse - (mcScrollBarPan._height/2))));} É isso...AbraçosObrigado Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Ferreira 0 Denunciar post Postado Abril 1, 2007 1 - use a propriedade maxscroll pra descobrir isso2 - regrinha de três cara, usando o fundo da barra de rolagem, a barra de rolagem e a quantidade de conteúdo. Compartilhar este post Link para o post Compartilhar em outros sites