全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2591
推到 Plurk!
推到 Facebook!

如何讓RichEdit自動判斷網址

 
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-07 00:39:56 IP:210.85.xxx.xxx 未訂閱
我是在WinXP和BCB 5.0實作 SendMessage(RichEdit->Handle, EM_AUTOURLDETECT, true, NULL); 之後, 你只要打http://www.kimo.com.tw之類的, 它會自動在畫底線 Source Code: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20164
yotrong
一般會員


發表:0
回覆:2
積分:0
註冊:2002-08-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-07 20:45:59 IP:61.219.xxx.xxx 未訂閱
引言: 我是在WinXP和BCB 5.0實作 SendMessage(RichEdit->Handle, EM_AUTOURLDETECT, true, NULL); 之後, 你只要打http://www.kimo.com.tw之類的, 它會自動在畫底線 Source Code: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20164
那click 後取得網址字串是在RichEditMouseDown event 內自行實作 還是有其他的方式 ?
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-07 22:11:42 IP:210.85.xxx.xxx 未訂閱
啊, 我就知道你會這樣問.... 大家努力的給它try try try 啦 try出來再分享一下囉 ^^"
yotrong
一般會員


發表:0
回覆:2
積分:0
註冊:2002-08-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-07 23:16:18 IP:61.219.xxx.xxx 未訂閱
引言: 啊, 我就知道你會這樣問.... 大家努力的給它try try try 啦 try出來再分享一下囉 ^^"
終於...我自己試出來了,查了MSDN 原來要建立MESSAGE_MAP 來攔截RichEdit 送出的EN_LINK notification 透過 WM_NOTIFY 的msg 就可取得字串 //unit.h public: void __fastcall HyperLink(TMessage &Msg); BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER(WM_NOTIFY, TMessage, HyperLink) END_MESSAGE_MAP(TForm) //unit.c __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { SendMessage(RichEdit1->Handle, EM_AUTOURLDETECT, true, NULL); } void __fastcall TForm1::HyperLink(TMessage &Msg) { ENLINK *PENLINK; PENLINK=(ENLINK *)Msg.LParam; if (PENLINK->msg == WM_LBUTTONDOWN && PENLINK->nmhdr.code==EN_LINK) { CHARRANGE RG; RG=PENLINK->chrg; int LStart,LEnd; LStart=RG.cpMin; LEnd=RG.cpMax; RichEdit1->SelStart=LStart; RichEdit1->SelLength=LEnd-LStart; ShowMessage(RichEdit1->SelText); } TForm::Dispatch(&Msg); } void __fastcall TForm1::FormCreate(TObject *Sender) { SendMessage(RichEdit1->Handle, EM_SETEVENTMASK, 0, ENM_LINK); } //------------------------------------------------------------ 如有錯誤或寫法不當之處請指教... 發表人 - yotrong 於 2002/08/07 23:23:20
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-07 23:36:50 IP:210.85.xxx.xxx 未訂閱
原來WM_NOTIFY可以這樣搭配用....^^ 可見你英文能力不錯唷.....好棒 如果多逛逛原文網站, 想必能可以造福更多的人唷 可以順便造福我嗎? ^^ 我玩了RichEdith很久 還有幾個東東Try不出來
dwhuang
一般會員


發表:2
回覆:5
積分:1
註冊:2002-08-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-08-28 17:42:15 IP:61.224.xxx.xxx 未訂閱
引言: 終於...我自己試出來了,查了MSDN 原來要建立MESSAGE_MAP 來攔截RichEdit 送出的EN_LINK notification 透過 WM_NOTIFY 的msg 就可取得字串 [...恕刪] 發表人 - yotrong 於 2002/08/07 23:23:20
我發現若RichEdit的Parent若不是Form1 點選hyperlink就不會showmessage了,請問該怎麼解決? 發表人 - dwhuang 於 2002/08/28 22:49:35
cuteysc
初階會員


發表:16
回覆:37
積分:35
註冊:2003-05-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-03 12:50:38 IP:211.76.xxx.xxx 未訂閱
引言:
引言: 終於...我自己試出來了,查了MSDN 原來要建立MESSAGE_MAP 來攔截RichEdit 送出的EN_LINK notification 透過 WM_NOTIFY 的msg 就可取得字串 [...恕刪] 發表人 - yotrong 於 2002/08/07 23:23:20
我發現若RichEdit的Parent若不是Form1 點選hyperlink就不會showmessage了,請問該怎麼解決? 發表人 - dwhuang 於 2002/08/28 22:49:35
不好意思, 我也很想知道, try 了許久但就是沒有辦法, 請問有人解決了嗎 ? Y.S.C.
現任:Programmer 深度論壇 BCB Internet 版主
http://www.goalsoft.com.tw 網宇科技有限公司
http://www.chatking.com.tw 台灣-聊天王 語音聊天社群 創辦人
系統時間:2024-05-15 18:30:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!