Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Позиционирование курсора

2.4K
03 декабря 2003 года
Belka
23 / / 05.08.2003
Как можно поменять позицию курсора в RichEdit при щелчке правой кнопки мыши? Спасибо.
415
03 декабря 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by Belka
Как можно поменять позицию курсора в RichEdit при щелчке правой кнопки мыши? Спасибо.



Поменять позицию курсора можно так:

 
Код:
RichEdit1.SetFocus();
RichEdit1.SelStart = НоваяПозиция;
RichEdit1.SelLength = 0;
2.4K
04 декабря 2003 года
Belka
23 / / 05.08.2003
Цитата:
Originally posted by SLA


Поменять позицию курсора можно так:
 
Код:
RichEdit1.SetFocus();
RichEdit1.SelStart = НоваяПозиция;
RichEdit1.SelLength = 0;



Спасибо. Но проблема в том, что SelStart - это позиция символа в RichEdit1, а в обработчике OnMouseDown есть только координаты щелчка мыши в пикселях. Как тут быть?

void __fastcall TChild::RichEdit1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(Button == mbRight)
RichEdit1 -> SelStart = 40; // ?

}

443
05 декабря 2003 года
REmindER
292 / / 23.03.2003
Цитата:
Originally posted by Belka


Спасибо. Но проблема в том, что SelStart - это позиция символа в RichEdit1, а в обработчике OnMouseDown есть только координаты щелчка мыши в пикселях. Как тут быть?

void __fastcall TChild::RichEdit1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(Button == mbRight)
RichEdit1 -> SelStart = 40; // ?

}



void __fastcall TChild::RichEdit1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
POINT Point;
int CharIndex;

if(Button == mbRight)
{
Point.x = X;
Point.y = Y;

CharIndex = (int) SendMessage(RichEdit1->Handle, EM_CHARFROMPOS, NULL, (LPARAM) &Point);
}
}

2.4K
05 декабря 2003 года
Belka
23 / / 05.08.2003
Спасибо огромное. Правда, я еще добавила RichEdit1 -> SelStart = CharIndex;
Работает! :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог