FORMATAR TEXTBOX COM INDEX
copiei e colei algumas textbox e escolhi a opção de criar controles Array, o problema
é que não consigo formatar uma única textbox para ficar por exemplo no formato
cpf, tentei o código abaixo mas não deu certo:
é que não consigo formatar uma única textbox para ficar por exemplo no formato
cpf, tentei o código abaixo mas não deu certo:
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case Text1.item(1)
Case 1
If KeyAscii = 8 Then Exit Sub
If keyacii < Asc([Ô]0[Ô]) Or KeyAscii > Asc([Ô]9[Ô]) Then KeyAscii = 0
Select Case Len(Text1.item(1))
Case 2
Text1.item(1) = Text1.item(1) & [Ô].[Ô]
End Select
End Select
End Sub
Coloque isso no evento LostFocus para o TextBox do CPF:
Format([Ô]seuCPFaqui[Ô], [Ô]00\.000\.000\/0000\-00[Ô])
JORGESALES,
Tem um outro jeito também (talvez mais prático a longo prazo):
Dentro da aba [Ô]Projects[Ô] / [Ô]Components (Ctrl + T)[Ô]
Procure por:
======================================
Microsoft Masked Edit Control 6.0 (SP3)
C:\WindowszSysWOW64 dc.ocx
======================================
Substitua este componente: [Ô]MaskEdBox[Ô] pelo [Ô]TextBox[Ô].
Configure o componente através da propriedade [Ô]Mask[Ô].
[][ô]s,
Tunusat.
Tem um outro jeito também (talvez mais prático a longo prazo):
Dentro da aba [Ô]Projects[Ô] / [Ô]Components (Ctrl + T)[Ô]
Procure por:
======================================
Microsoft Masked Edit Control 6.0 (SP3)
C:\WindowszSysWOW64 dc.ocx
======================================
Substitua este componente: [Ô]MaskEdBox[Ô] pelo [Ô]TextBox[Ô].
Configure o componente através da propriedade [Ô]Mask[Ô].
[][ô]s,
Tunusat.
Agradeço a ajuda de todos mas não é esse o meu problema,
estou trabalhando com textbox Array, ou seja todas
tem o mesmo nome o que muda são os indices, exemplo
se eu quiser que uma dessas textbox fique vazias eu não posso
colocar:
por isso a dificuldade, no exemplo do
eu teria que especificar qual textbox está perdendo o foco,
quanto ao do
eu não quero usar textbox que não façam parte do indece pois eu tenho
98 textbox e para limpa-las por exemplo eu só faço isso:
Esse é só um exemplo, tem muito mais vantagens em usar controles Array
e estou reduzindo e muito minhas linhas de código
estou trabalhando com textbox Array, ou seja todas
tem o mesmo nome o que muda são os indices, exemplo
se eu quiser que uma dessas textbox fique vazias eu não posso
colocar:
Textbox1.Text = [Ô][Ô]
e sim Textbox1.Item(1).Text = [Ô][Ô]
por isso a dificuldade, no exemplo do
eu teria que especificar qual textbox está perdendo o foco,
quanto ao do
eu não quero usar textbox que não façam parte do indece pois eu tenho
98 textbox e para limpa-las por exemplo eu só faço isso:
For x = 1 to 98
textbox.item(x) = [Ô][Ô]
Next x
Esse é só um exemplo, tem muito mais vantagens em usar controles Array
e estou reduzindo e muito minhas linhas de código
JORGESALES,
Uma forma de limpar todos os campos [Ô]Textbox[Ô]:
==================================================================
Limpando todos os objetos TextBox do formulário em VB6: Funções Públicas
http://www.jack.eti.br/limpando-todos-os-objetos-textbox-do-formulario-em-vb-funcoes-publicas/
==================================================================
[][ô]s,
Tunusat.
Uma forma de limpar todos os campos [Ô]Textbox[Ô]:
==================================================================
Limpando todos os objetos TextBox do formulário em VB6: Funções Públicas
http://www.jack.eti.br/limpando-todos-os-objetos-textbox-do-formulario-em-vb-funcoes-publicas/
==================================================================
Sub rotLimpar()
For Each controle In Me.Controls
If TypeOf controle Is TextBox Then controle.text = “â€
Next
End Sub
[][ô]s,
Tunusat.
Valeu já conhecia esse método mas como disse estou trabalhando com controles Array, a programação fica muito melhor.
JORGESALES, eu não tenho o Vb6 aqui, daà fica impossÃvel testar os códigos que lhe mando. Porém, se você quer trabalhar com indices, tu vai ter que identificar qual é o indice da TextBox que representa o CPF e assim fazer a devida verificação de formatação nele. Uma das formas que você poderia usar para fazer isso, é colocar um valor manualmente no campo Tag do seu TextBox, como por exemplo, Text1.Tag=[Ô]CPF[Ô]. Não se esqueça que isso pode ser feito diretamente no controle através da IDE. Para formatar, você poderia fazer o seguinte:
OBS: De qualquer forma você terá que identificar qual é o campo CPF, seja atribuindo um valor no controle para a sua identificação ou se baseando no Indice que foi gerado pra ele.
Public Sub Text1_LostFocus(Index As Integer)
if Text1(Index).Tag = [Ô]CPF[Ô] then
Format(Text1(Index).Text, [Ô]00\.000\.000\/0000\-00[Ô])
end if
End Sub
OBS: De qualquer forma você terá que identificar qual é o campo CPF, seja atribuindo um valor no controle para a sua identificação ou se baseando no Indice que foi gerado pra ele.
Tópico encerrado , respostas não são mais permitidas