ORIENTA?ÃO A OBJETOS

MARIOANDRADE 22/08/2014 21:13:01
#440657
Meus amigos, estou com uma ideia para trabalhar com Textbox's da seguinte maneira, eu uso o código abaixo no botão cadastrar para evitar que o usuário cadastre valores em branco:
 Private Sub cmdCadProduto_Click() 
If txtProdutos.Text = [Ô][Ô] Then
txtProdutos.BackColor = 5555
txtProdutos.SetFocus
Exit Sub
End If
End Sub


E no evento Change ou KeyPress da textbox eu uso:
txtProdutos.BackColor = vbWhite

Para voltar a cor branca.

Como eu uso este comando em vário botões eu queria fazer da seguinte maneira:
Declarar uma variavel global:

Dim TextBoxUsada as Object
Dim Conteudo as Boolean


E na hora que fosse usar o botão eu informasse ao programa que a text box do momento
é aquela que estou usando, daí eu teria uma única função que chamaria quando necessário,
mais ou menos assim

Private sub AnalizarTextbox ()
If TextBoxUsada.Text = [Ô][Ô] Then
TextBoxUsada.BackColor = 5555
TextBoxUsada.SetFocus
Conteudo = False
Exit Sub
End If
End SuB


E no botão do cadastro ficaria algo mais ou menos assim:

 Private Sub cmdCadProduto_Click() 
TextBoxUsada = txtProdutos
AnalizarTextbox
If Conteudo = False Then Exit Sub
End Sub


Espero que tenha dado pra entender, tenho a ideia mas nao sei como fazer porque dá erro e sei que é porque estou declarando
a variável de forma errada.

Agradeço a todos que possam ajudar.





FILMAN 22/08/2014 22:22:49
#440659
Resposta escolhida
[ô]Em um módulo você coloca a função abaixo!
Public Function AtualizaTextBox(ByRef oTextBox As TextBox, Optional ByVal valCor as long = 5555) As Boolean
Dim bool As Boolean

bool = True
If Trim(oTextBox.Text) = [Ô][Ô] Then
oTextBox.BackColor = valCor
bool = False
End If

AtualizaTextBox = bool

End Function


Private Sub cmdCadProduto_Click()
[ô]Você pode validar de duas maneiras

[ô]Forma 1
[ô]Somente validar o TextBox e deixa o BackColor com a cor padrão
if AtualizaTextBox(txtProdutos) = False Then
[ô]Msgbox [Ô]Caso queira mostrar mensagem![Ô]
txtProdutos.SetFocus
Exit Sub
End if


[ô]Forma 2
[ô]Validar o TextBox e especificar uma cor do BackColor
if AtualizaTextBox(txtProdutos, vbYellow) = False Then
[ô]Msgbox [Ô]Caso queira mostrar mensagem![Ô]
txtProdutos.SetFocus
Exit Sub
End if

End Sub



Espero ter ajudado!
MARIOANDRADE 22/08/2014 23:02:16
#440660
Obrigado meu amigo por mais esta grandiosa ajuda...
Tópico encerrado , respostas não são mais permitidas