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

RichEdit 中的網址該怎麼做超連結

尚未結案
smallpig01
一般會員


發表:2
回覆:1
積分:0
註冊:2009-02-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-09 17:50:23 IP:120.108.xxx.xxx 訂閱
這幾天寫了一個小程式...
想要再進一步下去做
程式圖片
http://0rz.tw/j2Y1b
我想要讓下方的RichEdit中出現的網址會自動辨識成網址列
並做成可以超連結的方式!
請問有辦法做到這種功能嗎?
謝謝了
(如果要原始碼的話我再另外傳)
另外這個網址有相關的程式...不過是我看不懂
http://www.wscken.idv.tw/pjblog/article.asp?id=8
如果有人可以幫我改成BCB的話也可以的!
先謝謝各位了!
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-10 10:52:00 IP:163.28.xxx.xxx 訂閱
試過了, 是可以的

[code cpp]
AnsiString s;
InitRichEditURLDetection(RichEdit1);
s = "http://delphi.ktop.com.tw\n";
s = "123123\n";
RichEdit1->Text = s;

void __fastcall TForm1::InitRichEditURLDetection(TRichEdit * RichEdit1)
{
WORD mask;
mask = SendMessage(RichEdit1->Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(RichEdit1->Handle, EM_SETEVENTMASK, 0, (mask | ENM_LINK));
SendMessage(RichEdit1->Handle, EM_AUTOURLDETECT, Integer(True), 0);
}
void __fastcall TForm1::WndProc(TMessage &Msg)
{
if (Msg.Msg == WM_NOTIFY)
{
if (((LPNMHDR)Msg.LParam)->code == EN_LINK )
{
ENLINK* p = (ENLINK *)Msg.LParam;
if (p->msg == WM_LBUTTONDOWN)
{
SendMessage(RichEdit1->Handle, EM_EXSETSEL, 0, (LPARAM)&(p->chrg));
ShellExecute(Handle, "open", RichEdit1->SelText.c_str(), 0, 0, SW_SHOWNORMAL);
}
}
}
TForm::WndProc(Msg);
}
[/code]
------
FPGA驗證, FPGA開發平台, http://smims.com
系統時間:2024-04-19 19:43:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!