| Profilo di CarlosLIBs Gráfica para (x)Har...BlogElenchiAmici | Guida |
|
03/03/2009 Eventos, um pouco mais O objetivo deste “post” é aprofundar um pouco mais o estudo de eventos, com um exemplo simples. A idéia é simples, quero colocar zeros (000) antes do numeral digitado, isso é interessante para chaves (índices). Para isso devo interagir com o evento ON LOSTFOCUS do objeto TEXTBOX, ou seja, “ao perder o foco” da “caixa de textos”. Vamos criar um formulário novo e colocar 2 Label e 2 TextBox * ---------------------- Inicio do código ---------------* * http://www.powerinformatica.com.br * Carlos Alberto Nunes Susviela * Origem: http://oohg-br.spaces.live.com/blog * * Estudando um pouco de eventos ( 2 ) * #include "oohg.ch" Declare window FrmPrincipal // Visivel em todo o sistema Function Main SET NAVIGATION EXTENDED // Usa ENTER para troca de campos // quem vem do clipper vai gostar disso Define Window frmPrincipal ; Title "Estudando Eventos - 2 " ; WIDTH 640 HEIGHT 480 ; // Tamanho da Janela Main Define STATUSBAR STATUSITEM "http://oohg-br.spaces.live.com/blog/" WIDTH 80 End STATUSBAR *-------------------------------------------Label @ 46,31 LABEL lblCodigo ; WIDTH 120 ; HEIGHT 24 ; VALUE 'Código....:' ; FONT 'MS Sans Serif' ; SIZE 10 @ 90,30 LABEL lblNome ; WIDTH 120 ; HEIGHT 24 ; VALUE 'Nome Cliente.:' ; FONT 'MS Sans Serif' ; SIZE 10 *------------------------------------------- TextBox @ 41,163 TEXTBOX txtCodigo ; HEIGHT 24 ; WIDTH 120 ; Font 'MS Sans Serif' ; size 10 ; MAXLENGTH 6 ; ON LOSTFOCUS ZerosToCodigo(6) // Ao perder o foco executa // a funcao que coloca zeros // a esquerda do codigo @ 78,163 TEXTBOX txtNome ; HEIGHT 24 ; WIDTH 279 ; Font 'MS Sans Serif' ; size 10 ; MAXLENGTH 50 *------------------------------------------- Button @ 380,500 BUTTON btnSair ; ACTION btnSairClick() ; WIDTH 80 HEIGHT 27 ; CAPTION "&Sair" ; TOOLTIP 'Clique aqui para sair do Programa' End Window frmPrincipal.center() frmPrincipal.Activate() // Aqui é onde, Realmente inicia o programa Return * Função a ser disparada quando for clicado o botão btnSair *-----------------------------------------------------------------------------* Function btnSairClick() *-----------------------------------------------------------------------------* if MsgYesNo("Deseja Sair do Sistema ?" , "Aviso...!" ) FrmPrincipal.release // termina o formulario(libera) EndIf Return Nil * Função a ser disparada cada vez que o objeto TextoBox perde o foco (saiu) *-----------------------------------------------------------------------------* Function ZerosToCodigo(sTamanho) *-----------------------------------------------------------------------------* Local sCodigo := Alltrim(FrmPrincipal.txtCodigo.value) Local szeros := Replicate("0", sTamanho - Len(sCodigo)) FrmPrincipal.txtCodigo.value := sZeros + sCodigo Return Nil * ---------------------- Fim do código -----------------* Conclusão: Como se pode perceber basta saber qual evento usar que podemos fazer muita coisa com essa lib. Exercícios: Ao perder o foco do TextBox onde se digita o nome do cliente, valide o mesmo para que não seja permitido deixar o campo vazio, ou seja force a digitação do nome do cliente. Dica: você vai precisar da propriedade “SetFocus” para colocar o cursor novamente no campo Nome do Cliente. Assim: FrmPrincipal.txtCodigo.Setfocus Carlos Alberto Nunes Susviela www.PowerInformatica.com.br CommentiPer aggiungere un commento, accedi con il tuo Windows Live ID (se utilizzi Hotmail, Messenger o Xbox LIVE possiedi già un Windows Live ID). Accedi Non hai ancora un Windows Live ID? Registrati RiferimentiL'URL di riferimento per questo intervento è: http://oohg-br.spaces.live.com/blog/cns!692520CDA770B22E!194.trak Blog che fanno riferimento a questo intervento
|
|
|