![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сообщение, узнающее координаты выделенного текста [D6, XP]
Mr tray © (2006-06-02 00:09:00)какое есть сообщение для того, чтобы узнать номера начального и конечного символов выделенного текста в текстовом поле?
begin...end (2006-06-02 19:42:00) [1]> Mr tray (02.06.06 19:13) [3]
> Написано, что это сообщение предназначено для работы с richedit.
С RichEdit работает и обычный EM_GETSEL. А EM_EXGETSEL следует использовать (согласно справке) тогда, когда объём текста в контроле превышает 64 КБ.
> RichEdit - это только объекты класса TRichEdit...
Это системные контролы с классами окон RichEdit или RICHEDIT_CLASS. Окно дельфишного TRichEdit -- это уже не совсем чистый RichEdit версии 1.0, а как бы его "потомок", созданный путём сабсклассинга (замены исходной оконной процедуры, для добавления некоторой функциональности). Тем не менее, TRichEdit должен нормально работать со всеми стандартными сообщениями.
> В таком случае: будет ли EM_GETSEL работать с такими многострочными
> полями.
Неизвестно. Можно заменить у стандартного RichEdit'а оконную процедуру, в которой для всех сообщений, кроме EM_GETSEL, вызывать "старую" процедуру. Таким образом, получится "почти стандартный" RichEdit, все остальные сообщения в котором будут обрабатываться стандартно, а EM_GETSEL не будет обрабатываться вовсе.
Mr tray (2006-06-02 19:13:00) [2]Такой вот вопрос: EM_GETSEL действует на все текстовые поля? А то я прочитал про EM_EXSETSEL. Написано, что это сообщение предназначено для работы с richedit. RichEdit - это только объекты класса TRichEdit или вообще все текствые многострочные поля с символами разных шрифтов, стилей, цветов? В таком случае: будет ли EM_GETSEL работать с такими многострочными полями.
begin...end (2006-06-02 07:35:00) [3]EM_GETSEL
TButton (2006-06-02 05:34:00) [4]memo1.SelStart?
и ещё что-то есть для длины выделеного текста