Ontem passei um tempo quebrando cabeça, tentando resolver o seguinte:
Tenho uns textInput e tinha que converter o texto digitado e assim que for digitado para Maiúscula.
Me sugeriram colocar o restrict="A-Z0-9" mas isso só restringe a digitação de minuscula, ou seja vc teria de ligar o capslook e não seria a melhor solução.
Encontrei algumas coisas sque me ajudaram a desenvolver o que queria e é bem simples.
classe MinusculaParaMaiuscula
//tenho um pacote "util" onde coloco o que todos já sabem.
package utill
{
import spark.components.TextInput;
public class MinusculaParaMaiuscula{
//construtor
public function MinusculaParaMaiuscula(){
}
//metodo de conversão
public function MinParaMai(campo:TextInput):void{
var strCampo:String = campo.text;
campo.text = strCampo.toUpperCase();
//não sei pq mas o meu não posicionava no final do textinput e se eu digitasse "porta" ficava "ATROP", emfim, resolvi com isso
campo.selectRange(campo.text.length, campo.text.length);//posiciona o cursor no final do textinput
}
}
}
Depois eu instancio e uso no textinput
cp_registro.as [pacote acs, onde coloco todos os .as]
import utill.MinusculaParaMaiuscula;
var conversor:MinusculaParaMaiuscula = new MinusculaParaMaiuscula();
cp_registro.mxml
<s:TextInput id="txt_nome" x="50" y="26" width="266" height="20" fontSize="10" change="conversor.MinParaMai(txt_nome)"/>
<s:TextInput id="txt_conv" x="377" y="26" width="200" height="20" fontSize="10" change="conversor.MinParaMai(txt_conv)"/>
do jeito que está só preciso instanciar em cada .as pra usar no .mxml
Coloquei aqui pq alguém poderá precisar. Aceito melhorias!
até+