MANTER O FOCO NA MESMA TEXTBOX COM CRITÉRIOS

GFRANGUELLI 14/11/2014 14:23:45
#442529
Olá pessoal do vbmania!

Gostaria da ajuda de quem sabe sobre vb6 e puder compartilhar agradeço.

Formulário com somente duas caixas de texto:

* textbox1 com MultiLine = False
* textbox2 com MultiLine = True e ScrollBars = Vertical

Ao escrever na textbox1 preciso que o conteúdo vá para a textbox2; limpe a textbox1; mantenha o foco na textbox1; e ao repetir esta rotina acrescente o conteúdo da textbox1 na linha abaixo da primeira digitada anteriormente na textbox2; tudo isso ao apertar a tecla enter.

Conto com os colegas deste fórum para esta rotina.

Abraço a todos.
SINCLAIR 14/11/2014 14:43:13
#442530
Resposta escolhida
Colega,

Se entendi o que você deseja, será só colocar o seguinte evento para Text1

  Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

[ô]Se foi pressionada a tecla ENTER
Case 13

[ô]Adicionar em Text2 o conteúdo de Text1, com ENTER no final
Text2.Text = Text2.Text & _
Text1.Text & _
vbCrLf

[ô]Limpar a Text1
Text1.Text = [Ô][Ô]

End Select

End Sub


Tudo de bom.
GFRANGUELLI 14/11/2014 20:39:03
#442539
Boa noite Euzébio, tudo bem?
Puts era isso mesmo que eu precisava. Exatamente.
Funcionou como o esperado.
Após colocar o código em prática notei uma alteração ou inclusão, veja se tem como:
Ao preencher a text2 o texto não rola automaticamente na barra de rolagem, sendo necessário para ver o que foi inserido ter que mover manualmente na barra de rolagem. Tem como a barra de rolagem acompanhar o texto automaticamente?
Obrigado pela atenção aqui prestada.
Gilberto
SINCLAIR 14/11/2014 22:03:55
#442541
Olá, colega...

Tem sim...

O código só precisa ter uma linha a mais. Abaixo em negrito deixo a linha adicionada no código anterior para sempre ir rolando Text2

Código completo é...

  Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

[ô]Se foi pressionada a tecla ENTER
Case 13

[ô]Adicionar em Text2 o conteúdo de Text1, com ENTER no final
Text2.Text = Text2.Text & _
Text1.Text & _
vbCrLf

[ô]Rolar a barra de Text2
Text2.SelStart = Len(Text2.Text)

[ô]Limpar a Text1
Text1.Text = [Ô][Ô]

End Select

End Sub


Tudo de bom.
GFRANGUELLI 14/11/2014 23:48:28
#442542
Boa noite Euzébio, tudo bem?
Batata! Era isso mesmo. Puts ficou exatamente como eu queria.
Muito obrigado. Valeu mesmo.
Na verdade estou tentando fazer un mini-chat, mas sei que tenho um longo caminho pela frente e com certeza vou precisar da ajuda dos colegas do vbmania.
Agradeço muito a ajuda do colega por estar colaborando com minhas dúvidas.
Obrigado.
Gilberto
Tópico encerrado , respostas não são mais permitidas