線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:826
推到 Plurk!
推到 Facebook!

請問如何偵測自行製作的link

尚未結案
galaxylee
一般會員


發表:2
回覆:2
積分:0
註冊:2005-01-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-24 01:09:41 IP:61.62.xxx.xxx 未訂閱
請教各位先進... 小弟利用richedit元件... 要自行製作link的功能... 按下button後,將選取的文字的顏色,變成藍色, 表示是一個link... 請問,當游標移至藍色文字,要如何能偵測出整段的藍色文字.. 例如,"myblue" 是藍色的文字... 當游標移至"y"或任一個字母時,如何能知道此藍色文字是"myblue". 謝謝!!!
galaxylee
一般會員


發表:2
回覆:2
積分:0
註冊:2005-01-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-24 17:16:37 IP:61.222.xxx.xxx 未訂閱
請各位先進提供小弟一點意見... 或是有另外的方法可以利用... 小弟感激不盡...
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-25 04:14:51 IP:221.169.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-25 10:56:20 IP:61.222.xxx.xxx 未訂閱
To Andy Chang, 謝謝你的回覆, 你說的方法,小弟之前已試過, 不過可能小弟沒有把問題說的很清楚, 使用EM_AUTOURLDETECT, 會自動判斷http:\\abc的網址. 不過,小弟的問題是,自製的link,不是http開頭,可能只是"mylink",這個字串, 當user選了這個字串,按下button後,將"mylink"字串變成藍色, 而小弟的問題在於,當滑鼠游標移至這個字串,如何能取得這個字串的值"mylink". 謝謝!!!
系統時間:2024-05-17 11:09:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!