MOSTRAR MSG ATE QUE SEJA PRESSIONADA UMA TECLA

HUBER.FABIO 17/03/2010 16:27:54
#337204
Olá amigos, coisa simples
HUBER.FABIO 17/03/2010 16:29:13
#337205
Continuando

Estou mostrando uma mensagem na tela através de um label mais logo já vem outro e sobrepõe..como posso segurar essa primeira mensagem até que uma tela seja pressiona
MARCIO.TEIXEIRA 17/03/2010 16:30:07
#337207
Explica um pouco mais sobre seu problema
HUBER.FABIO 17/03/2010 16:43:27
#337211
Vamos lá !

Mostro uma mensagem na tela através de um label. OK

lblmsg.caption = [Ô]PROCESSANDO, AGUARDE...[Ô]

Isso está num loop executando um processamento, caso ocorra algum erro eu vou mostrar

lblmsg.caption = [Ô]ERRO NO PROCESSAMENTO...[Ô]

e já finalizo e no final já tem outra mensagem

lblmsg.caption = [Ô]FAÇA ISSO , ETC ETC ETC[Ô]

como estou usando um label e não posso usar MsgBox o que acontece é que assim q mostra a mensagem ERRO NO PROCESSAMENTO já vem a FAÇA ISSO ETC ETC por cima, ou seja, o usuário não consegue enxer a segunda mensagem.

Tem alguma maneira de segura essa mensagem até que a tecla ENTER seja pressionada.
TECLA 17/03/2010 16:52:47
#337214
1. Habilite a propriedade KEYPREVIEW do FORM para TRUE
2. Valide a tecla pressionada no evento KEYPRESS conforme abaixo:
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then MsgBox [Ô]Pressionou a tecla <Enter>[Ô], , [Ô]Olá![Ô]
End Sub
HUBER.FABIO 17/03/2010 16:57:19
#337216
Olá amigo TECLA,

Não sei se expliquei corretamente ou entendi mal sua resposta.

Eu preciso que uma mensagem seja mostrada até que a tecla ENTER seja pressionada. Estou usando um Label, não estou mostrando a mensagem em MsgBox.

Exemplo:

label1.caption = [Ô]mensagem 1[Ô]
label1.caption = [Ô]mensagem 2[Ô]

se eu mandar executar o que acontece, vai ficar em com a ultima mensage certo, o que eu gostaria é de ir mostrando as mensagem uma a uma, ou seja, ir passando para próximo sempre que uma tecla for pressionada
TECLA 17/03/2010 17:18:59
#337222
OK, tente assim:

Declare a linha abaixo no General Declarations do FORM
Dim Msg(3) As String, c As Byte


Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1 = Msg(c)
If c <= 2 Then c = c + 1 Else c = 0
End If
End Sub


Private Sub Form_Load()
c = 0
Msg(0) = [Ô]Mensagem 1[Ô]
Msg(1) = [Ô]Mensagem 2[Ô]
Msg(2) = [Ô]Mensagem 3[Ô]
End Sub


Não esqueça de habilitar para TRUE a propriedade KEYPREVIEW do FORM.
HUBER.FABIO 17/03/2010 17:46:50
#337229
Estou dentro de um Select Case...também funcionaria assim

Case 4
frmECFPagto.lblmsgtef.Caption = Buffer
frmECFPagto.lblmsgtef.Refresh

Case 22
If Len(Trim((Buffer))) > 150 Then
frmECFPagto.txtindicetef.Enabled = False
Do While Len(Buffer) > 0
Dim quebralinha As String
Pos = 1
quebralinha = Chr(10)
Pos = InStr(Pos, Buffer, quebralinha, vbTextCompare)
If Pos = 0 Then Exit Do
frmECFPagto.lblmsgtef.Caption = frmECFPagto.lblmsgtef.Caption & Mid(Buffer, 1, Pos - 1) & Chr(13) & Chr(10)
Buffer = Right(Buffer, Len(Buffer) - Pos)
Loop
Exit Sub
Else
[txt-color=#e80000]frmECFPagto.lblmsgtef.Caption = Buffer[/txt-color]
frmECFPagto.TelaDisplay.Visible = False
End If

Case 23
frmECFPagto.lblmsgtef.Caption = Buffer
frmECFPagto.lblmsgtef.Refresh

No casso o select case está dentro de um loop ..gostaria de mostrar a frase em destaque do case 22 e só depois passar para a do case 23..como é instantaneo nem dá para ver..
PEGUDO 18/03/2010 09:25:35
#337272
Cara, tenta colocar um[txt-color=#0000f0] Timer [/txt-color]com um intervalo pré definido.
Aí coloca um [txt-color=#0000f0]While Not[/txt-color] ou um [txt-color=#0000f0]If...then[/txt-color] com a condição de a frase do case 23, só apareça depois de determinado período de tempo.

O raciocínio é este, ok?

Espero ter ajudado
Valeu
Tópico encerrado , respostas não são mais permitidas