ソス@ソスソスRichEditソスソスソス"http://ソス`ソス`"ソスソスNソスソスソスbソスNソスソスソスソスソスURLソスソスJソスソスソスソスソス@
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
ソスEpapy's softwarelibrary
ソスヘゑソスソス゚まゑソスソスソスDelphiソスrソスMソスiソス[ソスナゑソス
ソスソスソスoソスソスソスソスナゑソスソスンまゑソスソスが、RichEditソスソスソス"http://ソス`ソス`"ソスフ包ソスソスソスソスソスNソスソスソスbソスNソスソスソスソスソスURLソスソスJソスソスソスノはどゑソスソスソスソスソスホ良ゑソスソスフでゑソスソス蛯、ソスソスソスH
IPソスソスソスbソスZソスソスソスWソスソスソス[ソスフようソスネゑソスフゑソスソスソスソストゑソスソスソスフでゑソスソスソスソスAソスソスソスソスソスソスURLソスソスソスワまゑソスソス鼾ソスソスソスソスソスJソスソスソスソス謔、ソスノゑソスソスソスソスソスソスフでゑソス
TEditorソスフソソス[ソスXソスソスソスソスソスホ会ソスソスソスソスソスソスフではと思ソスソスソスト鯉ソスソストみまゑソスソスソスソスソスソスソスソスソスユんかゑソスユゑソスナゑソスソスソス
ソスEソスソスソスoソスソスソスソスナゑソスソスEソスEソスE
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200204/02040020.txt
ソスETEditorソスソスソスソスJソスソスソストゑソスソスソスHPソスナゑソス
http://homepage3.nifty.com/‾katsuhiko/
Delphian Worldソスフコソスソスソス|ソス[ソスlソスソスソスgソスソスgソスソスネゑソスソスフでゑソスソスソスソス(ソスニ鯉ソスソスソスソストゑソスC++Builderソスpソスナゑソスソスソスソスソス)ソスAソスソスソスフようソスノゑソスソスソスホゑソスしソスソスソスソスソスニ。
TForm1ソスノ、
OldRichEditWndProc: TWndMethod;
procedure RichEditWndProc(var Msg: TMessage);
ソスソスソス`ソスB
ソスネ会ソスソスソスソスソスソスB
//ソスtソスHソス[ソスソスソス成ソスソスソスノ、URLソスソスFソスソスソスナゑソスソスソス謔、ソスノゑソスソスソス
//RichEdit1ソスソスTソスuソスNソスソスソスXソスソス
procedure TForm1.FormCreate(Sender: TObject);
var
Mask: DWORD;
begin
Mask := SendMessage(RichEdit1.Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(RichEdit1.Handle, EM_SETEVENTMASK, 0, Mask or ENM_LINK);
SendMessage(RichEdit1.Handle, EM_AUTOURLDETECT, 1, 0);
OldRichEditWndProc := RichEdit1.WindowProc;
RichEdit1.WindowProc := RichEditWndProc;
end;
//URLソスソスヌゑソスソスノゑソスソスソスソスソスソスニゑソスソスノ、CN_NOTIFYソスCソスxソスソスソスgソスソスソスソスソスナゑソスソスソスフで擾ソスソスソスソスBソスソスソスソスネ外ソスヘデソスtソスHソスソスソスgソスB
procedure TForm1.RichEditWndProc(var Msg: TMessage);
var
NotifyMsg: TWMNotify;
Enl: TENLink;
L: Integer;
tmp: CHARRANGE;
Url: String;
begin
if Msg.Msg = CN_NOTIFY then
begin
NotifyMsg := TWMNotify(Msg);
if NotifyMsg.NMHdr^.code = EN_LINK then
begin
CopyMemory(@Enl, PCHAR(Msg.LParam), SizeOf(TENLink));
//Enl.msgソスノ、ソスソスソスNソスソスソスbソスNソスソスソスニゑソスソスEソスNソスソスソスbソスNソスソスソスニゑソスソスフソスソスbソスZソス[ソスWソスソスソスソスソスソスフで、ソスKソスXソスソスソスソスソスB
//ソスソスソスソスソスナゑソスWM_LBUTTONUP
if Enl.msg = WM_LBUTTONUP then
begin
L := Enl.chrg.cpMax - Enl.chrg.cpMin;
SetLength(Url, L);
SendMessage(RichEdit1.Handle, EM_EXGETSEL, 0, LPARAM(@tmp));
SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, LPARAM(@Enl.chrg));
SendMessage(RichEdit1.Handle, EM_GETSELTEXT, 0, LPARAM(@Url[1]));
SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, LPARAM(@tmp));
//ソスソスソスフ趣ソスソス_ソスナ、Urlソスマ撰ソスソスソスURLソスソスソスソスソスソスソストゑソスソスソスフで、ソスヌゑソスソスニでゑソスソスソスソスソスソスソストゑソスソスソスソスソスソスソスソスB
//ソスソスソスソスソスナゑソスForm1ソスソスCaptionソスソスURLソスソス¥ソスソスソスソスソス驍セソスソスソスB
Caption := Url;
end;
end
else
begin
OldRichEditWndProc(Msg);
end;
end
else
begin
OldRichEditWndProc(Msg);
end;
end;
ソスノゑソスソスフゑソスソスソスフサソスソスソスvソスソスソスRソス[ソスhソスソスソスソスソスソストみまゑソスソスソスソスソスソスA
ソスcソスOソスネゑソスソスソス Win98ソスナは趣ソスソスソスソスIソスソスURLソスフハソスCソスpソス[ソスソスソスソスソスNソスソスソスン定さソス黷クソス_ソスソスソスナゑソスソスソスソスB
Win2000ソスナ趣ソスソスソスソスソスソスソスAソスソスソスソスソスIソスソスURLソスフハソスCソスpソス[ソスソスソスソスソスNソスソスソスン定さソスソスソスフゑソスURLソスソスソスソスソスソスソス
ソスソスソスOソスソスソスXソスyソス[ソスXソスAソスSソスpソスソスソスソスソスA-ソスAソス^ソスuソスネどの場合ソスソスソスソスソスナ、ソスソスソスpソスソスソスソスソスソス_ソスuソスソスソスNソスHソス[ソスeソス[ソスVソスソスソスソスソスノ托ソスソスソスURLソスフ場合ソスヘダソスソスソスナゑソスソスB
ソスソスソスフ包ソスソス@ソスナはゑソスソス黷ェソスソスソスEソスネのでゑソスソス蛯、ソスソスソスH
ソスソスソス黷ェソスソスソスEソスソスソスニ思ソスソスソスワゑソスソスB
ソスソスソスOソスソスSetAttributeソスソスソスソスソスソスソスソスソスワゑソスソスB
TEditorソスナゑソスソスフでゑソスソスソスホ、FountainソスソスソスソスKソスvソスソスソスソスソスソスワゑソスソスB
ソスソスソスンまゑソスソスソスワ角 ソスソスソスソスソスソス@ソスソスソスソスソスソストゑソスソスソスソスソスソスソスソスソスソスフにどゑソスソスソスソスソスホゑソスソスソスソスフゑソスソスかソスソスワゑソスソスソスナゑソスソスソス
ソスニりあソスソスソスソスソスRソスソスソスpソスCソスソスソスソスソストみて表ソスソスソスソスソス黷スソスGソスソスソス[ソスヘ以会ソスソスフ通ゑソスナゑソス
[ソスGソスソスソス[] Unit1.pas(33): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'EM_GETEVENTMASK'
[ソスGソスソスソス[] Unit1.pas(34): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'EM_SETEVENTMASK'
[ソスGソスソスソス[] Unit1.pas(34): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'ENM_LINK'
[ソスGソスソスソス[] Unit1.pas(35): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'EM_AUTOURLDETECT'
[ソスGソスソスソス[] Unit1.pas(44): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'TENLink'
[ソスGソスソスソス[] Unit1.pas(46): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'CHARRANGE'
[ソスGソスソスソス[] Unit1.pas(52): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'EN_LINK'
[ソスGソスソスソス[] Unit1.pas(57): 'THEN' ソスソスソスKソスvソスネ場所ソスソス ソスソスソスハ子 'msg' ソスソスソスソスソスソスワゑソス
[ソスGソスソスソス[] Unit1.pas(59): ソスソスソスZソスqソスワゑソスソスヘセソス‾ソスRソスソスソスソス (';') ソスソスソスKソスvソスナゑソス
[ソスGソスソスソス[] Unit1.pas(59): ソスソスソスZソスqソスワゑソスソスヘセソス‾ソスRソスソスソスソス (';') ソスソスソスKソスvソスナゑソス
[ソスGソスソスソス[] Unit1.pas(61): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'EM_EXGETSEL'
[ソスGソスソスソス[] Unit1.pas(62): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'EM_EXSETSEL'
[ソスGソスソスソス[] Unit1.pas(62): ')' ソスソスソスKソスvソスネ場所ソスソス ソスソスソスハ子 'chrg' ソスソスソスソスソスソスワゑソス
[ソスGソスソスソス[] Unit1.pas(76): ';' ソスソスソスKソスvソスネ場所ソスソス 'ELSE' ソスソスソスソスソスソスワゑソス
[ソスGソスソスソス[] Unit1.pas(78): ソスソスソスソス`ソスフ趣ソスソスハ子 : 'OldRichEditWndProc'
[ソスGソスソスソス[] Unit1.pas(78): '(' ソスソスソスKソスvソスネ場所ソスソス ')' ソスソスソスソスソスソスワゑソス
[ソスGソスソスソス[] Unit1.pas(79): '.' ソスソスソスKソスvソスネ場所ソスソス ';' ソスソスソスソスソスソスワゑソス
[ソスxソスソス] Unit1.pas(80): ソスRソスソスソスpソスCソスソスソスソス 'end.' ソスネ降ソスフ包ソスソスソスソス無趣ソスソスソスソスワゑソス
[ソスvソスソスソスIソスGソスソスソス[] Project1.dpr(5): 'Unit1.pas' ソスソスソスjソスbソスgソスヘコソスソスソスpソスCソスソスソスナゑソスソスワゑソスソスソスナゑソスソスソス
ソスソスソスソスソスソスソスソス迯ャソスソスソスソスソストゑソスソスワゑソスソスト、ソスソスフどゑソスソスソスソスソスホゑソスソスソスソスフゑソスソスEソスEソスE
ソス@EM_xxx ソスフソスソスbソスZソス[ソスWソスソスRichEdit.pasソスノ抵ソス`ソスソスソスソストまゑソスソスBusesソスソスRichEditソスソスヌ会ソスソスソスソス驍アソスニ。
ソスソスソス黷セソスソスソスナエソスソスソス[ソスソスソスソスソスソスソスソスソス轤「ソスソスソスソスソスソスヘゑソスソスナゑソスソスBソスワゑソスソスAソスソスソスソスノ影ソスソスソスソスソスソスト鯉ソスソス黷スソスGソスソスソス[ソスソスソスソスソスソスワゑソスソスB
ソスソスソスソスネ外ソスヘみゑソスネ、ソス謔ュソスソスソスソスホゑソスソスソスソスソスニゑソスソスソスソス‾ソスXソスソスソスソスソスだエソスソスソス[ソスフハソスYソスBソスソステに鯉ソスソストみゑソスホ包ソスソスソスソスソスワゑソスソスB
ソスFソスlソスフゑソスソスソスソスソスソスナ厄ソスソスソスソスソスソスソスナゑソスソスソスソスソスソスナゑソス
ソスソスソスpソスソスソスソスソスネどに托ソスソスソスURLソスソスソスワまゑソス髞ュソスソスソスノつゑソスソストはソスソスOソスノ表ソスソスソスソスソスソスOソスソス
ソスuhttp://ソスvソスソスソスu http://ソスvソスニ変奇ソスソスソスソス謔、ソスニ思ソスソスソスワゑソス
ソス{ソスソスソスノ有ソスうソスソスソスソスソスソスソスワゑソスソスソスソスI