お世話になります、ほぼ連投で済みません
これでアンダーラインを付けられますが
procedure TRichEdit.CreateWnd;
var
mask: Word;
begin
inherited CreateWnd;
SendMessage(Handle, EM_AUTOURLDETECT,1, 0);
mask := SendMessage(Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
end;
最終行に url があると該当行の下もずっと「指カーソル」のままなのは Windows 側の問題なのでしょうか?
一つでも改行が入ると問題ないのですが
↓で EOF 以降も最終行と同じ行数が帰ってくるのでやはりこの判断ではダメでしょうか
procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
CaretIndex:integer;
aPos:TPoint;
Line:integer;
begin
aPos.x:=X;
aPos.y:=Y;
with RichEdit1 do
begin
CaretIndex:=SendMessage(Handle,EM_CHARFROMPOS,0,Longint(@aPos));
Line:=SendMessage(Handle,EM_LINEFROMCHAR,CaretIndex,0);
end;
Caption:=IntToStr(Line);
end;
以上、よろしくお願いいたしますm(_ _)m
ツイート | ![]() |