MOSTRAR MSG ATE QUE SEJA PRESSIONADA UMA TECLA
Olá amigos, coisa simples
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
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
Explica um pouco mais sobre seu problema
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.
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.
1. Habilite a propriedade KEYPREVIEW do FORM para TRUE
2. Valide a tecla pressionada no evento KEYPRESS conforme abaixo:
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
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
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
OK, tente assim:
Declare a linha abaixo no General Declarations do FORM
Não esqueça de habilitar para TRUE a propriedade KEYPREVIEW do FORM.
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.
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..
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..
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
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