Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

URL   Найти похожие ветки 

 
Andrewtitoff ©   (2009-11-20 13:44) [0]

Как в RichEdit вставить ссылку?
т.е. задача такая: ссылка должна выглядеть как стандартный URL в веб-броузере ну в общем где угодно в общем такой синенький подчеркнутый текст и что бы при нажатии на нее открывался браузер с этой ссылкой...
P.S.
Как открыть ссылку в браузере - я нашел:
ShellExecute(TForm(Owner).Handle,nil,PChar("http://codesources.net/"), nil, nil,SW_SHOWNORMAL);

А вот как обрабатывать нажатие на нее - непойму, ну и как поменять ее атрибуты текста...


 
Andrewtitoff ©   (2009-11-20 14:15) [1]

Нашел!, если кому интересно - то вот оно!:

{....}
protected
procedure wndproc(var message: tmessage); override;
{....}

uses richedit, shellapi;

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);

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;

Только почему-то не работает когда текст заранее введен через дельфи редактор пока не начнешь редактировать...



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

Текущий архив: 2010.01.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
6-1211794870
PES
2008-05-26 13:41
2010.01.17
Почему Clientsocket на одних компах коннектится, а на других нет?


15-1258322580
POOP
2009-11-16 01:03
2010.01.17
Чем можно уменьшить скорость аудио?


2-1259247302
recop
2009-11-26 17:55
2010.01.17
Удаление узла TreeView по абсолютному индексу


10-1162481216
Note
2006-11-02 18:26
2010.01.17
COM взаимодействие службы Win32 и пользовательского приложения


11-1210547429
Valera
2008-05-12 03:10
2010.01.17
Как отлавить сообщение мышки за окном?