Вторник, 14.05.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нравится раздел статьи?
Всего ответов: 68
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Сеть-интернет » Разные

URL highlighting in TRichEdit
{....}

protected
procedure wndproc(var message: tmessage); override;

{....}


uses richedit, shellapi;

{today i want to show how to implement url highlighting and url navigation
without any third-party components. this functionality is implemented in
richedit from microsoft (and ms outlook use this feature, for example) and
only borland's developers didn't publish it for us.}

procedure tform1.formcreate(sender: tobject);
var
mask: word;
begin
mask := sendmessage(richedit1.handle, em_geteventmask, 0, 0);
sendmessage(richedit1.handle, em_seteventmask, 0, mask or enm_link);
sendmessage(richedit1.handle, em_autourldetect, integer(true), 0);

//some text in richedit
richedit1.text := 'scalabium software'#13#10 +
' site is located at www.scalabium.com. welcome to our site.';
end;

procedure tform1.wndproc(var message: tmessage);
var
p: tenlink;
strurl: string;
begin
if (message.msg = wm_notify) then
begin
if (pnmhdr(message.lparam).code = en_link) then
begin
p := tenlink(pointer(twmnotify(message).nmhdr)^);
if (p.msg = wm_lbuttondown) then
begin
sendmessage(richedit1.handle, em_exsetsel, 0, longint(@(p.chrg)));
strurl := richedit1.seltext;
shellexecute(handle, 'open', pchar(strurl), 0, 0, sw_shownormal);
end
end
end;

inherited;
end;

autor: mike shkolnik

Получить ссылку на материал

Категория: Разные | Добавил: Барон (12.12.2011)
Просмотров: 1678 | Теги: highlighting, TRichEdit, URL | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Web-приложения [6]
Почта [12]
Работа с HTTP [4]
Робота с XML [4]
Сервер [3]
Разные [50]
Королевство Delphi © 2010-2024
Яндекс цитирования