как програмно выделить текст в TextBox с конца в начало

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ssss
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 23.05.2006 (Вт) 20:00

как програмно выделить текст в TextBox с конца в начало

Сообщение ssss » 24.05.2006 (Ср) 13:34

Значит так по порядку:
- есть TextBox c текстом "selected text"
- свойство SelStart=3
- свойство SelLenght=8
- свойство SelText="ected te"
- курсор мигает в позиции между 11 и 12 символами, т.е. в КОНЦЕ выделенного текста "ected te"

А надо так:
( в run-time режиме )
- становимся в позицию между 11 и 12 курсором
- зажимаем SHIFT на клаве и жмем 8 раз стрелочку влево
итого имеем:
- ----//---- то-же самое с выделенноым текстом
- курсор мигает в НАЧАЛЕ выделенного текста т.е. в позиции между 3 и 4-ми символами
ВНИМАНИЕ ВОПРОС:
КАК ПРОГРАМНО ДОБИТЬСЯ ЭТОГО ????

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.05.2006 (Ср) 13:48

сэмулировать?
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.05.2006 (Ср) 13:51

И зачем такой бред?
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.05.2006 (Ср) 13:54

С какой бы стороны не начинал, конец выделения там, где кончил :о) (пардон за двойственность фразы)
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.05.2006 (Ср) 13:57

ssss
Небольшой поиск по MSDN показывает
If your application needs to have the entire contents selected and the beginning of the string in view, create the edit control using the ES_MULTILINE style. The order of the starting and ending positions in the EM_SETSEL message is respected by multiline edit controls.

Достаточно?




GB826
Замечание за флуд, ерунду и неиспользование кнопки Редактировать.
Последний раз редактировалось GSerg 24.05.2006 (Ср) 14:05, всего редактировалось 1 раз.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение alibek » 24.05.2006 (Ср) 13:58

Из VB ты этого никак не сделаешь.
С помощью API теоретически можно. Но помоему проще эмулировать нажатие Shift+Left для выделения текста.
Lasciate ogni speranza, voi ch'entrate.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.05.2006 (Ср) 14:02

GSerg

Ну сначала я неплохое предложение внес...
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.05.2006 (Ср) 14:07

alibek
Нет.
multiline=true, после чего EM_SETSEL будет различать начало и конец выделения.
MSDN рулит.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ssss
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 23.05.2006 (Вт) 20:00

Сообщение ssss » 24.05.2006 (Ср) 15:36

If your application needs to have the entire contents selected and the beginning of the string in view, create the edit control using the ES_MULTILINE style. The order of the starting and ending positions in the EM_SETSEL message is respected by multiline edit controls.


Достаточно, спасибо!
(как все просто... MULTILINE!!!)

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.05.2006 (Ср) 15:38

GB826

В цитаты, однозначно :)

Sur
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 91
Зарегистрирован: 14.07.2003 (Пн) 20:54
Откуда: C2H5OH

Сообщение Sur » 25.05.2006 (Чт) 18:21

А вот еще вариант с заморозкой (не для мультилайна)

Код: Выделить всё
Text1.SetFocus
Text1.SelStart = 1
Text1.SelLength = 3
Call SendMessage(Text1.hwnd, WM_SETREDRAW, False, ByVal 0&)
Text1.SelStart = 1
Call SendMessage(Text1.hwnd, WM_SETREDRAW, True, ByVal 0&)
Пить или не пить? - да не вопрос!

Naked
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 207
Зарегистрирован: 27.10.2004 (Ср) 3:16
Откуда: Дальнегорск столица мира

Сообщение Naked » 26.05.2006 (Пт) 1:13

а потом обновляем, и выделение исчезает


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList