Одновременное движение по тексту в двух textbox`ах

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Wasup!
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 21.06.2005 (Вт) 11:09

Одновременное движение по тексту в двух textbox`ах

Сообщение Wasup! » 20.06.2006 (Вт) 0:01

Есть два textbox`а multiline c включенными scrollbar`ами. В них помещен одинаковый по объему текст. Как сделать так, чтобы при перемещении scrollbar`а в первом textbox`е, текст двигался одновременно и в первом и во втором textbox`е?
Каким образом программно двигать текст я нашел:
SendMessage Text1.hwnd, WM_VSCROLL, SB_LINEDOWN, 0
SendMessage Text1.hwnd, WM_HSCROLL, SB_LINERIGHT, 0
, а как получать текущее положение нет. Как его можно получить?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.06.2006 (Вт) 0:14

GetScrollInfo, что ли?
Изображение

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 20.06.2006 (Вт) 13:44

Свойство SelStart?

Wasup!
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 21.06.2005 (Вт) 11:09

Сообщение Wasup! » 20.06.2006 (Вт) 16:16

GetScrollInfo подходит, а на какое событие textbox`а его нужно вешать, чтобы оно срабатывало при прокрутке scrollbar`а?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.06.2006 (Вт) 16:19

Видимо, надо сабклассить :-|
Изображение

Wasup!
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 21.06.2005 (Вт) 11:09

Сообщение Wasup! » 20.06.2006 (Вт) 17:29

Как я понимаю сабклассить подразумевает, что мне нужно каким-то образом добраться до элемента scrollbar являющегося частью элемента textbox? А можно пример, как это делается?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.06.2006 (Вт) 17:34

Изображение

ACiD
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 261
Зарегистрирован: 10.12.2005 (Сб) 2:29
Откуда: г. Санкт - Петербург

Сообщение ACiD » 20.06.2006 (Вт) 22:21

Попробуй так

Код: Выделить всё
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyLeft Or KeyCode = vbKeyRight Then Text2.SelStart = Text1.SelStart
End Sub

Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyLeft Or KeyCode = vbKeyRight Then Text1.SelStart = Text2.SelStart
End Sub

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.06.2006 (Вт) 23:01

ACiDXX, чушь.
Lasciate ogni speranza, voi ch'entrate.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 21.06.2006 (Ср) 6:59

2 ACiDXX К чему условности? Тогда уж:
Код: Выделить всё
Text2.SelStart = Text1.SelStart
Text1.SelStart = Text2.SelStart


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 66

    TopList