Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Enter в TextBox через код


Автор: T90 9.3.2008, 16:15
Народ, тут такая проблема:

Я делаю сетевой чат по TCP/IP, и у меня сообщения выводятся в TextBox. Но, ясное дело, мне нужно каждое сообщение писать с новой строки. А текстбокс не принимает ни SendKeys'ом, ни  + Chr(13) +.

В текстбоксе Multiline = True и вообще "руками" туда энтер набрать можно. Вообщем, помогите плиз, у меня пока больше идей нет.

TxtOut.Text = TxtOut.Text + *Здесь нужен энтер* + Net1.LocalIP + "  " + TxtIn.Text

P.S. TxtOut - TextBox для вывода надписи, TxtIn - TextBox откуда берутся сообщения локального пользователя.

P.P.S. Есть еще вариант - сделать через Label, но там нужно ScrollBar как-то к нему прилепить. 

Автор: Rrader 9.3.2008, 16:29
Когда нужен Enter, выполни этот код:
Код

...
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
......
....
  Text1.SetFocus
  Call keybd_event(13, 0, 0, 0)
  Call keybd_event(13, 0, 2, 0)
....

Автор: bom 9.3.2008, 16:44
vbCrLf

Автор: Akina 10.3.2008, 13:45
или vbNewLine, что одно и то же:

Код

TextBox1.Text = "Line1" & vbCrLf & _
                "Line2" & vbNewLine & _
                "Line3" & chr(13) & chr(10) & _
                "Line4"

Соответственно в втоем случае
Код

TextBox1.Text = Right(TextBox1.Text, AllowedLength - Len(NewMessage)) & vbCrLf & NewMessage


Автор: T90 11.3.2008, 21:02
Спасибо, все опробую.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)