請問如何偵測自行製作的link |
尚未結案
|
galaxylee
一般會員 發表:2 回覆:2 積分:0 註冊:2005-01-25 發送簡訊給我 |
|
galaxylee
一般會員 發表:2 回覆:2 積分:0 註冊:2005-01-25 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
galaxylee: 參考: http://delphi.ktop.com.tw/topic.php?topic_id=20165 【分享】如何讓RichEdit自動判斷網址 其中yotrong大大的資訊不知可否? 引用yotrong大大原文: 終於...我自己試出來了,查了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 請參考Andy Chang
------
Andy Chang |
galaxylee
一般會員 發表:2 回覆:2 積分:0 註冊:2005-01-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |