DETECTAR QUANDO O TEXTBOX E ALTERADO NO VB 6.0

PROVIDER 25/04/2010 01:54:01
#340172
Boa noite.

Gostaria de saber se alguém poderia me ajudar em uma questão:

Como faço para detectar se o textbox foi alterado em tempo de execução? Ex: Quando inicia-se o formulário o textbox estava com o texto [Ô]PERDIDO[Ô], porém foi alterado para [Ô]FECHADO[Ô]... nesse momento o sistema deveria identificar que foi alterado o text e habilitar alguns controles necessários, como botão, combobox....

Caso o usuário retorne com o texto [Ô]PERDIDO[Ô] o sistema volta ao estado inicial...

Alguém poderia me ajudar. [ô]

Atenciosamente,
Provider...
MICROSCHEME 25/04/2010 03:46:23
#340173

Se entendi.

Dim strtext as string

no form_load

strtext = textn.text

quando sair

if strtext <> textn.text then
msgbox [Ô]Textn foi alterado[Ô]
comandos para o tratamento em caso de alteração
else
comandos para o tratamento em caso de não alteração
endif

. . .

ASHKATCHUP 25/04/2010 10:20:27
#340180
Você pode usar o evento LOST_FOCUS para validar isso.
TECLA 25/04/2010 10:38:14
#340183
Citação:

:
Você pode usar o evento LOST_FOCUS para validar isso.


...ou o CHANGE.

Exemplo:
Private Sub Text1_Change()
If Text1 = [Ô]FECHADO[Ô] Then
MsgBox [Ô]Fechado[Ô]
ElseIf Text1 = [Ô]ABERTO[Ô] Then
MsgBox [Ô]Aberto[Ô]
End If
End Sub


PS. Não seria melhor utilizar um outro controle?
ASHKATCHUP 25/04/2010 11:56:22
#340185
Citação:

ou o CHANGE



O change é chamado a cada letra digitada... acho que é desnecessário...

EDERMIR 25/04/2010 18:03:16
#340212
Quando você carregar o TEXT, coloque o valor carregado para a propriedade TAG:

TEXT1.TAG = TEXT1.TEXT

Quando efetuar o LOSTFOCUS ou outra operação necessária, voce compara o TAG com o TEXT:

If TEXT1.TAG <> TEXT1.TEXT then
msgbox([Ô]ESSA BAGAÇA TÁ DIFERENTE[Ô])
endif

VALDEMIRLUZ 25/04/2010 18:44:15
#340219
quando a txt receber o foco (GotFocus) armazene o valor atual numa variavel, e quando a txt perder o foco (LostFocus ou Validate), compare o valor da variavel com o valor da txt.
Tópico encerrado , respostas não são mais permitidas