Вниз
Скачать: CL | DM;

даёшь гиперлинку в текст   Найти похожие ветки 

 
HELamer!   (2004-02-21 20:13) [0]

Поможите люди добрые!!!Надо вставить ссылку в текст RICHEDITа


 
хз ©   (2004-02-21 23:02) [1]

RichEdit.SelText:="http:\\www.твоя_ссылка";

--
LMD


 
TUser ©   (2004-02-22 11:28) [2]

Надо сделать ее синим цветом, а потом вычислять положение курсоа мыши (что нетривиально). Когда попадешь на ссылку - руку показывать, а пи клике - открывать.

2 хз
LMD - не то чтобы это слишком деликатно звучит ...


 
olookin ©   (2004-02-22 11:30) [3]

TUser © (22.02.04 11:28) [2]
Надо сделать ее синим цветом, а потом вычислять положение курсоа мыши (что нетривиально). Когда попадешь на ссылку - руку показывать, а пи клике - открывать.

более чем тривиально если знать как выглядит ссылка... Просто послать сообщение с параметром типа CharFromPos или PosFromChar (не помню сейчас уже)... Так или иначе а я такую фичу делал когда то и не особо мучился...


 
olookin ©   (2004-02-22 12:09) [4]

вот что то типа этого :

var
Form1: TForm1;
b: boolean;

procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var z1,z2,n,i,z3: integer;
p: tpoint;
s: string;
begin
with Richedit1 do begin HideSelection:=true;
p.x:=x; p.y:=y; s:=""That is hyperlink""; z1:=-1;
n:=sendmessage(handle,EM_CHARFROMPOS,0,integer(@p));
z1:=sendmessage(handle,EM_LINEFROMCHAR,n,0); z2:=0;
if (z1<>-1) and (z1>=0) and (z1<lines.count) then
for i:=0 to z1-1 do z2:=z2+length(lines[i])+2;
n:=n-z2;
//if z1<lines.count then
if (pos(s,lines[z1])<>0) and
(pos(s,lines[z1])<n) and (pos(s,lines[z1])+Length(s)>n) then begin
z3:=Pos(s,Lines[z1]); selstart:=z3+z2; sellength:=length(s);
b:=true;
SelAttributes.Color:=clred; sellength:=0; end else begin
if b then begin b:=false;
selstart:=0; sellength:=length(Text);
SelAttributes.Color:=font.color; sellength:=0; end; end;

end;
end;

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-12320
VID
2004-02-22 20:04
2004.03.05
Срочно! С помощью чего можно запретить изм-е системного времени


3-12257
tesseract
2004-02-09 13:02
2004.03.05
Lookup поля в SQL


1-12431
Checist [root]
2004-02-22 18:49
2004.03.05
Исходник Html -> Memo


7-12568
The Vizit0r!
2003-12-12 14:21
2004.03.05
Раскладка клавы


3-12267
Виталя
2004-02-09 09:43
2004.03.05
Как програмно получить список ролей, данного пользователя ?




   Наверх