Lexotan6mg 0 Denunciar post Postado Outubro 6, 2010 Oi, pessoal! Procurei algum tópico relacionado aqui no fórum mas como não encontrei, resolvi postar. No código abaixo eu tento criar uma instância do componente UIScrollBar que está na Library atrelado ao TextField também criado via código, mas não sei porquê não funciona. Alguém pode ajudar? Abraços a todos! mc.createTextField("my_txt",mc.getNextHighestDepth(),10,10,260,280); mc.my_txt.html = true; mc.my_txt.wordWrap = true; mc.my_txt.multiline = true; var loadTxt:XML = new XML(); loadTxt.load("homeText.xml"); loadTxt.ignoreWhite = true; System.useCodepage = true; var i=0; loadTxt.onload = function(){ mc.my_txt.text = loadTxt.firstChild.firstChild.childNodes; // AQUI COMEÇA A FUNÇÃO UISCROLLBAR mc.my_txt.createClassObject(mx.controls.UIScrollBar,"vScroll",mc.my_t xt.getNextHighestDepth()); mc.my_txt.vScroll.setScrollTarget(mc.my_txt); mc.my_txt.vScroll.setSize(10, mc.my_txt._height); mc.my_txt.vScroll.move(mc.my_txt._x + mc.my_txt._width, mc.my_txt._y); mc.my_txt.vScroll.lineScrollSize = 2; mc.my_txt.vScroll.pageScrollSize = 5; my_txtFormat = new TextFormat(); my_txtFormat.size = 11; my_txtFormat.font = "Verdana"; my_txtFormat.color= 0x000000; mc.my_txt.setTextFormat(my_txtFormat); }; Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 6, 2010 Você ta tentando criar um object dentro de uma caixa de texto :P Não é assim que isso funciona :) O correto é assim: import mx.controls.UIScrollBar; var tf:TextField = _root.createTextField("tf", 1, 20, 20, 200, 200); tf.wordWrap = true; var sui:UIScrollBar = _root.createClassObject(mx.controls.UIScrollBar, sui, 2); tf.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sit amet odio blandit elit molestie vulputate. Aliquam vel dolor purus. Mauris ac risus congue ipsum accumsan commodo in eu massa. Phasellus nulla mauris, pellentesque non sodales a, fringilla varius nisl. Pellentesque massa erat, adipiscing ac lacinia sed, vehicula commodo nunc. Maecenas vel placerat lacus. Curabitur auctor, sapien id vestibulum placerat, enim massa consectetur leo, sit amet convallis orci lacus eu lacus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas pellentesque vestibulum nibh ut vestibulum. Cras dignissim tempus nulla a ultrices. Mauris pretium sodales sem, non auctor nulla fermentum vitae. Mauris congue massa nec enim egestas ut mollis arcu tincidunt. Quisque ante ipsum, bibendum id vulputate sed, fringilla nec tortor."; sui.setScrollTarget(tf); sui.setSize(10,200); sui._x = 220; sui._y = 20; Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Lexotan6mg 0 Denunciar post Postado Outubro 6, 2010 Você ta tentando criar um object dentro de uma caixa de texto :P Não é assim que isso funciona :) Muito obrigado pela ajuda! Realmente, meu erro era criar um object DENTRO do TextField. Agora criei o object no _root e funcionou, inclusive buscando o texto de um XML externo. Vou colocar o código COMPLETO e corrigido abaixo para consulta, espero que ajude a outros! =) buttom_btn.onRelease=function(){ //desenhando dinamicamente o BOX01 _root.createEmptyMovieClip("box01",_root.getNextHighestDepth()); box01.lineStyle(1, 0xCCCCCC); //definido contorno 1px, cinza box01.beginFill(0xFFFFFF,70); //definindo preenchimento branco com opacidade de 70% box01.moveTo(0, 0); //definindo 0 X e Y do ponto de registro box01.lineTo(280,0); //definindo o X e Y da primeira linha horizontal em relação ao ponto de registro box01.lineTo(280,300); //definindo o X e Y da primeira linha vertical em relação ao ponto de registro box01.lineTo(0,300); //definindo o X e Y da segunda linha vertical em relação ao ponto de registro box01.endFill(); //fechando o polígono box01._x =120; //definindo a posição X onde o polígono tem de aparecer box01._y = 190; //definindo a posição y onde o polígono tem de aparecer box01._alpha=0; //definindo o alpha=0 var box01Alfa:Tween = new Tween(box01,"_alpha",Regular.easeOut,0,100,1,true); //efeito alpha 0 para 100 // criando dinamicamente o campo de texto box01.createTextField("tf",box01.getNextHighestDepth(),10,10,260,280); //cria o campo de texto vazio box01.tf.html = true; //renderiza como HTML box01.tf.wordWrap = true; //coloca as quebras de linha necessárias box01.tf.multiline = true; //define o campo com múltiplas linhas // busca o texto no arquivo XML externo var loadTexto:XML = new XML(); // declara a variavel para ler o XML loadTexto.load("texto.xml"); // lê o xml loadTexto.ignoreWhite = true; // ignora espaços em brancos no xml System.useCodepage = true; // habilita acentos var i=0; // declara valor inicial da variavel igual a 0 // ao carregar o XML, pegar as informações loadTexto.onLoad = function(){ box01.titEmpresa.text = loadTexto.firstChild.firstChild.childNodes; //cria a barra de rolagem vertical _root.createClassObject(mx.controls.UIScrollBar,"vScroll",2); vScroll.setScrollTarget(box01.tf); // Define o campo de texto a ser atachado vScroll.setSize(10, box01._height);// Define o tamanho para ajustar ao box que contém o texto vScroll.move(box01._x + box01._width, box01._y); //Move a barra para ficar no lado direito do box vScroll.lineScrollSize = 2; // Rola 2 linhas por clique no botão da barra de rolagem vScroll.pageScrollSize = 5;// Rola 5 linhas por clique na barra em si // formatando o texto tfFormat = new TextFormat(); //criando uma formatação para o texto tfFormat.size = 11; //definindo tamanho do texto tf.font = "Verdana"; //definindo a fonte tf.color= 0x000000; //definindo a cor do texto box01.tf.setTextFormat(tfFormat); //aplicando a formatação ao campo de texto }; Surgiu uma outra dúvida no processo, mas acho coerente colocá-la em um tópico à parte. Valeu! o/ Compartilhar este post Link para o post Compartilhar em outros sites