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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Координата каретки RichTextBox 
:(
    Опции темы
cru3l
Дата 13.4.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Можно ли получить X и Y  (Left и Top) значения каретки в RichTextBox?
PM MAIL   Вверх
Akina
Дата 13.4.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



У положения курсора нет координат Left и Top


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

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


Новичок



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

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



Akina, т.е. в vb6 координату каретки получить невозможно? и даже как-то вычислить?
 в .NET парой строчек кода можно получить X и Y  smile 


PM MAIL   Вверх
Akina
Дата 13.4.2010, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(cru3l @  13.4.2010,  15:30 Найти цитируемый пост)
в .NET парой строчек кода можно получить X и Y

Я не понимаю что именно имеется в виду. Но то, что можно получить в VB.Net, у меня лично НИКАК не асссоциируется с фразой "координаты каретки".


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

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


Новичок



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

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



Akina, вот как бы я нашел каретку в C#
Код

Point point = this.richTextBox1.GetPositionFromCharIndex(richTextBox1.SelectionStart);
point.Y += (int) Math.Ceiling(this.richTextBox1.Font.GetHeight()) + 2;
point.X += 2;


может теперь понятно что я имею ввиду. Как можно реализовать подобное в vb6?
PM MAIL   Вверх
Akina
Дата 13.4.2010, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Теперь ясно. Увы, простыми методами это в VB6 не реализуется.


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

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


Новичок



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

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



вообщем пришлось копать в сторону WinAPI, там есть соответствующий метод - GetCaretPos, вот пример использования в Visual Basic 6

 
Код

Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCaretPos Lib "user32" (lpPoint As POINTAPI) As Long

Public Function GetTCursX() As Long
Dim pt As POINTAPI
GetCaretPos pt
GetTCursX = pt.X
End Function

Public Function GetTCursY() As Long
Dim pt As POINTAPI
GetCaretPos pt
GetTCursY = pt.Y
End Function


Пример использования:
Код

Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
  
Dim XPos As Long
Dim YPos As Long
XPos = GetTCursX

Label1.Caption = Xpos   

End Sub


И не забываем что WinAPI функция вернет вам значения в пикселах, а в бейсике зачастую используются твипсы, поэтому вам может быть надо будет сделать
Код

XPos = GetTCursX * Screen.TwipsPerPixelX



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

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

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

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

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


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

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


 




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


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

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