![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
URL [D7, XP]
Adios © (2007-03-20 13:14:00)как мне в мемо или ричэдит выделить URL если таковой появится, или обрезать весь текст и оставить тока ссылку?
clickmaker (2007-03-20 15:37:00) [1]точно. Начиная с 2000. А в 98/NT4 riched32 была отдельной версией
clickmaker (2007-03-20 14:09:00) [2]
> [10] sniknik © (20.03.07 14:02)
а, все понял
видимо в новых ОС riched32 просто wrapper, судя по секции импорта
RICHED20.dll
RichEdit10ANSIWndProc
sniknik (2007-03-20 14:02:00) [3]> т.е. первой версии, в которой эта фича не работает
в первый раз от тебя слышу... ну может раньше было... не сталкивался в общем. всегда работало.
> Наследника написал?
ничего не писал, кроме показанного, в d7 работает (в смысле ссылки выделяет, если нужно чтобы еще и кликались то там еще чуток кода надо добавить (вопроса о кликах не стояло ;о)))
clickmaker (2007-03-20 13:57:00) [4]
> а типа Rx както по другому работает
Rx грузит riched20.dll, если есть. А стандартный richedit32, т.е. первой версии, в которой эта фича не работает
Наследника написал?
sniknik (2007-03-20 13:47:00) [5]> и у тебя это в стандартном работает? Не Rx?
а типа Rx както по другому работает... имхо таже надстройка над стандартным, как и все компоненты.
а так как у нас использование "левых" компонент запрещено, приходится выкручиваться...
и кстати... перечитал вопрос, и видимо я не о том вовсе... (слово "выделить" неправильно интерпретировал ;)
> у меня компилятор EM_GETEVENTMASK
не все показанное перенес...
Adios (2007-03-20 13:43:00) [6]у меня компилятор EM_GETEVENTMASK не пропускает, говорит что неизвестная переменная
clickmaker (2007-03-20 13:42:00) [7]
> [3] sniknik © (20.03.07 13:39)
и у тебя это в стандартном работает? Не Rx?
Adios (2007-03-20 13:41:00) [8]text я так понял это текст из которого выборка происходит, а как мне пробелом ограничить?
например
if pos('http://',adress)>0 then showmessage(adress);
но если adress содержит пробел после ссылки и ещё символы, то сообщение всёравно выскакивает
sniknik (2007-03-20 13:40:00) [9]Rect: TRect; лишнее затесалось... (правил здесь).
sniknik (2007-03-20 13:39:00) [10]
uses RichEdit;
procedure TForm1.FormCreate(Sender: TObject);
procedure SetVisibleLink(RichEdit: TRichEdit);
var
mask: Word;
Rect: TRect;
begin
with RichEdit do begin
mask:= SendMessage(Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
SendMessage(Handle, EM_AUTOURLDETECT, Integer(True), 0);
end;
end;
begin
SetVisibleLink(RichEdit1);
end;
clickmaker (2007-03-20 13:22:00) [11]
> выделить URL
Pos('http://', text) и далее до пробела или >, если ссылка начинается с <
Джо (2007-03-20 13:17:00) [12]См. по теме «конечные автоматы».