Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Местоположение курсора в Memo, Поиск и выравнивание курсора 
:(
    Опции темы
Алексей
Дата 21.6.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте. Подскажите, пожалуйста, способ определения местоположения курсора в Memo.
Допустим, если требуется выровнять его относительно середины.
Заранее спасибо. 
PM MAIL   Вверх
Romikgy
Дата 21.6.2006, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



В поиск тебя, это столько раз обсуждалось.... 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ИванМ
Дата 22.6.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



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


Шустрый
*


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

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



Спасибо огромное. Про это свойство я уже нашел, по совету Romikgy, в поиске.
Теперь у меня возникла проблема его использования.
Кто-нибудь может привести простенький пример? smile
 
Я пробовал вот так:
Код

TPoint p;
p.x=5;
p.y=6;
Memo1->CaretPos=p;


Но курсор просто куда-то исчезает. 

Это сообщение отредактировал(а) Алексей - 22.6.2006, 19:06
PM MAIL   Вверх
ИванМ
Дата 22.6.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



В конце напиши: 
Код

Memo1->SetFocus();

И все будет работать. Курсор есть, просто ты его не видишь, так как окно не сфокусировано. 
PM MAIL   Вверх
Алексей
Дата 23.6.2006, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ИванМ, спасибо огромное. Теперь курсор появился. 
Только почему-то он не переставляется.
Код

Memo1->CaretPos.x=5;
Memo1->CaretPos.y=7;
Memo1->SetFocus();

 
PM MAIL   Вверх
Romikgy
Дата 23.6.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Код

int i,x,y;
i=SendMessage(Memo1->Handle, EM_LINEINDEX, y, 0) + x;
SendMessage(Memo1->Handle, EM_SETSEL, i, i);
Memo1->SetFocus();

юзай smile

Добавлено @ 10:13 
x,y положение курсора куда хочешь поставить!

Добавлено @ 10:14 
Цитата(Алексей @  23.6.2006,  08:53 Найти цитируемый пост)
Memo1->CaretPos

Посмотри хелп, это рид-онли! 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ИванМ
Дата 23.6.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

TPoint p;
p.x=5;
p.y=6;
Memo1->CaretPos=p;
Memo1->SetFocus();

И все работает. Вначале ты правильно писал. Можно присвоить только класс TPoint.
И ни какой не рид-онли. По крайней мере, в 6-м Билдере.
 
PM MAIL   Вверх
ShumaHerr
  Дата 22.10.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А как определить координаты курсора, а затем вставить в это место слово в RichEdit?
PM MAIL WWW   Вверх
586
Дата 22.10.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(ShumaHerr @  22.10.2007,  16:47 Найти цитируемый пост)
А как определить координаты курсора

RichEdit1->CaretPos     // коорд. x, y
RichEdit1->SelStart       // индекс выделения начала текста
RichEdit1->SelLength    // длина выделения текста (если не выделен, рабен 0)

Цитата(ShumaHerr @  22.10.2007,  16:47 Найти цитируемый пост)
 вставить в это место слово в RichEdit

RichEdit1->SelText
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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