Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

Номер EM_GETSELTEXT   Найти похожие ветки 

 
ANB ©   (2005-04-21 13:55) [0]

Подскажите, какой номер у сообщения EM_GETSELTEXT, а то у меня в Windows.pas его нету. Или какой модуль заюзать по такому случаю.


 
ANB ©   (2005-04-21 14:04) [1]

И в Messages тоже. :(


 
Юрий Зотов ©   (2005-04-21 14:19) [2]

В RichEdit.pas:
EM_GETSELTEXT = WM_USER + 62;

На будущее - в Delphi есть поиск строки в файлах.


 
ANB ©   (2005-04-21 14:45) [3]

Спасибо. Я, правда, уже сам нашел. Только вопрос - а почему он для эдитов не отрабатывает ? EM_REPLACESEL работает же.


 
mgcr ©   (2005-04-21 14:54) [4]

"The EM_GETSELTEXT message retrieves the currently selected text in a rich edit control."

Наверное, поэтому ? Я угадал ?


 
ANB ©   (2005-04-21 15:04) [5]


> mgcr ©   (21.04.05 14:54) [4]
да читал я это. Хотелось попробовать. А что взамен ?
Пытаюсь заюзать EM_GETLINE, но у него хитрое описание буфера :
lpch -
Value of lParam. Points to the buffer that receives a copy of the line. The first word of the buffer specifies the maximum number of characters that can be copied to the buffer.
Пробую подсунуть адрес String, он примерно так и устроен, но ни фига не работает.

Size := SendMessage(hControl, EM_LINELENGTH, 0, 0);
SetLength(sText, Size);
Size := SendMessage(hControl, EM_GETLINE, 0, LongWord(@sText));


 
ANB ©   (2005-04-21 15:23) [6]

Уфф, уж мне эти мелкософтовые. Вот так работает :

var sText : String;
. . .
Size := SendMessage(hControl, EM_LINELENGTH, 0, 0);
SetLength(sText, Size);
TextLen := @sText[1];
TextLen^ := Size;
Size := SendMessage(hControl, EM_GETLINE, 0, LongWord(PChar(sText)));
SetLength(sText, Size);


 
mgcr ©   (2005-04-21 15:30) [7]


> А что взамен ?


А это смотря чего ты хочешь получить.


 
ANB ©   (2005-04-21 15:35) [8]


> А это смотря чего ты хочешь получить.
- читай внимательно :


> Вот так работает :

Получить нужно было текст эдита. Интересно, как народ только выделенный текст получает ? Мне то это не нужно, а все таки ?


 
mgcr ©   (2005-04-21 17:31) [9]


> Интересно, как народ только выделенный текст получает ?
>


Наверное по-простому - WM_COPY и из Clipboard :)


 
ANB ©   (2005-04-21 17:53) [10]

Не оригинально. А если буфер чем то полезным для юзера заполнен ? Вообще то можно вытащить параметры выделения и самому разобрать строку . . .


 
alpet ©   (2005-04-21 18:17) [11]

>Интересно, как народ только выделенный текст получает ?
EM_GETSELTEXT ??


 
ANB ©   (2005-04-22 09:21) [12]


> alpet ©   (21.04.05 18:17) [11]
см. историю вопроса - не работает.


 
mgcr ©   (2005-04-22 10:24) [13]

ANB ©   (21.04.05 17:53) [10]


> Не оригинально


Я в очереди в патентное бюро не стою.


> А если буфер чем то полезным для юзера заполнен ?


Тогда твою программу не надо запускать.


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


Можно. Только кода писать надо побольше.


 
alpet ©   (2005-04-22 10:25) [14]

ANB ©   (22.04.05 09:21) [12]
>см. историю вопроса - не работает.

Мда. Понятно - WM_USER + ххх обычным контролам such as Edit должны быть по барабану. Для multiline Edit контрола могу также предложить EM_GETHANDLE, правда она дает лищь дескриптор блока памяти и в другом процессе извлекать его содержимое будет сложнее.


 
ANB ©   (2005-04-22 10:59) [15]


> Можно. Только кода писать надо побольше.
ну, строк на 5-10. Зато универсально и никому не мешает.
У буфера есть еще минус. Моя прога может работать в фоновом режиме, и, пока она какое нибудь приложение тестит, тестер может пока в ворде чего нибудь писать и буфер юзать. И тут либо мы ему буфер за...гадим, либо он нам может умудриться.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.048 c
1-1117192435
Jupiter
2005-05-27 15:13
2005.06.14
Копирование по маске


1-1117112244
MakedoneZ
2005-05-26 16:57
2005.06.14
Pointer,узнать номер ячейки памяти


14-1117195061
Alena
2005-05-27 15:57
2005.06.14
Не работает exe-шник


1-1117183840
juice
2005-05-27 12:50
2005.06.14
try ... except ... finally


1-1117006147
Ботвин Дмитрий
2005-05-25 11:29
2005.06.14
Добавление кнопок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский