Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.192.53.34] |
|
Сообщ.
#1
,
|
|
|
Я так понимаю, что при выделении текста Едит шлёт чего-то родителю... Или не так? И как получить координаты полученного выделенного фрагмента?
|
Сообщ.
#2
,
|
|
|
Цитата Артур @ Я так понимаю, что при выделении текста Едит шлёт чего-то родителю... Или не так? RichEdit посылает WM_NOTIFY с EN_SELCHANGE, простой Edit вроде ничего не отправляет Цитата Артур @ И как получить координаты полученного выделенного фрагмента? При помощи сообщения EM_GETSEL, либо CEdit::GetSel |
Сообщ.
#3
,
|
|
|
Олег МСпасибо
Да, WM_NOTIFY не приходит. то есть, момент селекта не поймать? С положением селекта в тексте понятно, но мне бы получить все ректы выделенного текста. |
Сообщ.
#4
,
|
|
|
Цитата Артур @ то есть, момент селекта не поймать? Ну отчего ж не поймать. Приходят вполне конкретные мышиные и клавиатурные сообщения. Я бы ещё посмотрел сообщения о перерисовке. Что до опыта реализации подобной задачи, делал когда-то через полсекундный таймер с проверкой выделения. |
Сообщ.
#5
,
|
|
|
B.V.
Не, если штатными средствами нельзя, то не надо. Как найти верхний угол селекта, нашел - EM_POSFROMCHAR Можно ли штатно получить ректы выделенной области, и если нельзя, то из чего эту информацию собрать? Скажем, у нас не Едит, а РичЕдит. Как получить ширину строки, при условии, что в ней может быть разное форматирование? И совпадает ли вообще ширина селекта с шириной строки? |
Сообщ.
#6
,
|
|
|
Цитата Артур @ Скажем, у нас не Едит, а РичЕдит. Как получить ширину строки, при условии, что в ней может быть разное форматирование? Находишь индексы символов в начале/конце строки при помощи EM_LINEFROMCHAR, EM_LINEINDEX, EM_LINELENGTH и т.д., потом вызываешь для них EM_POSFROMCHAR |
Сообщ.
#7
,
|
|
|
Спасибо
|