Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> номер строки в многострочной textbox, как узнать? 
:(
    Опции темы
sgrey
Дата 22.3.2007, 05:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



собственно нужно перейти к номеру строки. Только не знаю как их посчитать и отправить курсор к определённой строке... 
п.с. пробовал посчитать vbNewLine  в тексте - не получилось  smile 
PM MAIL   Вверх
Akina
Дата 22.3.2007, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



В текстбоксе не существует понятия номера строки, если разрешен перенос строк. Формально можно обработать текст с использованием АПИшной TextWidth - однако геморрой еще тот, да и точность не гарантирована.

А если перенос запрещен, то подсчет vbNewLine даст корректный результат.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kirill89
Дата 22.3.2007, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Тоько не 
Цитата(sgrey @  22.3.2007,  05:38 Найти цитируемый пост)
vbNewLine
, а vbCrLf - это переход на новую строку пктем нажатия "enter" например. Можно использовать это.


--------------------
PM MAIL WWW   Вверх
sgrey
Дата 22.3.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



попробую, спасибо
PM MAIL   Вверх
Tectoder
Дата 22.3.2007, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: нет
Всего: 8



Kirill89, кстати vbNewLine=vbCrLf. В случае с VB6 полностью.
PM   Вверх
sgrey
Дата 22.3.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



вот решение как перейти на определённую строку, может поможет кому-то
Код

Private Declare Function SendMessage Lib "user32" _
      Alias "SendMessageA" ( ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
      lParam As Any) As Long

Private Const EM_LINEINDEX = &HBB

Private Sub GoToLine(txt As TextBox, number As Long)
   '* Line number is 0 based
   With txt
      .SelStart = SendMessage(.hwnd, EM_LINEINDEX, _
                  ByVal number, ByVal 0&)
      .SetFocus
   End With
End Sub

Private Sub ControlGoto_Click()
      Dim line As Integer
      line = InputBox("Enter line number", "Go To")
    GoToLine txtEdit, line

End Sub


Добавлено @ 20:01 
а так можно посчитать сколько строк в тексте
Код

     Private Declare Function SendMessageAsLong Lib "user32" _
     Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
     ByVal wParam As Long, ByVal lParam As Long) As Long
  
    Const EM_GETLINECOUNT = 186
Private Sub Control_Click()
    Dim lCount As Long
        lCount = SendMessageAsLong(txtEdit.hwnd, EM_GETLINECOUNT, 0, 0)
        MsgBox lCount

PM MAIL   Вверх
Kirill89
Дата 23.3.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Tectoder, незнал. учту. спасибо.


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.