CONSISTIR UMA TEXTBOX

JAIRMAR 09/06/2011 08:22:29
#376227
Bom dia amigos

Gostaria de saber se tem alguma propriedade dentro da textbox que faz uma limpeza na mesma e me libera para digitação novamente. colocarei abaixo o meu fonte de teste . Está funcionandop só que em tempo de execução o comado fica em um loop externo e só consigo desligar finalizando o sistema com o gerenciador de tarefas do windows com a opção [Ô]finalizando processo [Ô]. Eu sei que fácil ; Alguem pode me ajudar . o fonte está abaixo

Private Sub txtmarca_lostfocus()
If txtmarca = Empty Then
MsgBox [Ô]<< Campo em branco!! Digite-o >>[Ô]
txtmarca.Refresh
txtmarca.SelStart = 0

txtmarca.SetFocus
Exit Sub
End If

End Sub

Obrigado
MARCELO.TREZE 09/06/2011 10:16:00
#376241
Resposta escolhida
é algo simplismente absurdo de fácil

no lostfocus mesmo

If txtMarca.Text = [Ô][Ô] Then
txtMarca.Text = [Ô][Ô]
txtMarca.SetFocus
End IF


vc não precisa fazer esta manobra toda que costuma fazer quando o programa entra nestes loops, basta vc pressionar Ctrl + Pause Break

MARCELO.TREZE 09/06/2011 20:36:49
#376363
ai eu estive imaginando, a função é para ver se o campo está vazio, e se ele estiver ela limpa o campo e retorna o foco????

meio estranho né, quando um simples setfocus resolve.

no lost do textbox

If txtcampo.Text = [Ô][Ô] then txtcampo.Setfocus


existe também uma função para isto

veja a função abaixo, basta vc colocar na tag do textbox que não pode ficar em branco um asterisco(*), e quando clicar no botão a função irá procurar em todos os textbox, que contenham (*) na tag se os mesmos estão vazios, e estando, é colorido o text vazio e o foco volta pra ele.

Function Vazio(Formulario As Form) As Boolean
Dim Controle As Control
On Error Resume Next
Vazio = False
For Each Controle In Formulario.Controls
If Trim(Controle.Text) = [Ô][Ô] And Controle.Tag = [Ô]*[Ô] Then
If Err.Number = 0 Then
Vazio = True
Controle.BackColor = &H80FFFF
Controle.SetFocus
End If
Err.Clear
Else
If Controle.BackColor = &H80FFFF Then
Controle.BackColor = QBColor(15)
End If
End If
Next Controle
End Function


ai vc coloca no botão salvar o seguinte

Private Sub Command1_Click()
If Vazio(Me) = True Then
MsgBox [Ô]Campo vazio[Ô]
End If
End Sub
Tópico encerrado , respostas não são mais permitidas