改變你對Delphi內建RichEdit的看法 |
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
改變你對Delphi內建RichEdit的看法 網路上的技術文章很多,但提到內建的RichEdit總是搖頭,好像內建的RichEdit是扶不起的阿斗一般,這篇文章希望能改變大家的看法。 如何插入超連結?
http://delphi.ktop.com.tw/topic.php?topic_id=20165
【分享】如何讓RichEdit自動判斷網址
不過這是BCB的 如何透過剪貼簿貼上圖片、插入檔案捷徑、增加拖曳功能
超級重要的連結
http://herea.soft.free.fr/index1.htm
沒錯,是法國的網站,看不懂法文嗎?我也是看不懂,不過沒關係,至少我幫各位找到重要的資料了。 超級重要的範例
http://herea.soft.free.fr/Projets/ALG/Edit.zip
在Shared Units目錄中有相當重要的三個檔案
RichOle.pas
CommonCtrls.pas
OleOperations.pas
這三個檔案可以幫助各位完成透過剪貼簿貼上圖片、插入檔案捷徑、增加拖曳功能 如何讓RichEdit永遠顯示內文最後一行
請參考 http://delphi.ktop.com.tw/topic.php?topic_id=29514
【發表】完美解決RichEdit永遠顯示內文最後一行 如何不透過剪貼簿貼上圖片呢?
請參考RXRichEdit的做法 我寫的很簡略是嗎?看了等於沒看是嗎?老實說,我也是這樣覺得,如果寫個程式都要很歹命的查資料,上網查資料就算了,還要查到法國的網站不是太辛苦了嗎? 去下載吧!(含範例,範例是用Delphi6編寫的)
http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip
我將整個以上的功能都整理好了
我想大家都很聰明,應該不用我再為範例多做解釋了 發表人 - akai 於 2003/05/23 23:15:42
|
ctx62
一般會員 發表:4 回覆:28 積分:6 註冊:2002-12-12 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
各位網友 我已經上傳了 akai 會員的分享資料 可能是太多人下載造成 akai 那邊網路負荷不了 【分享】akai 二星級會員 整合之資料 因為有網友反映無法下載 我將他上傳了 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30994 jack
在此謝謝 akai 會員的分享資料 *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
|
xuzhenhu
一般會員 發表:4 回覆:3 積分:1 註冊:2003-04-05 發送簡訊給我 |
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
To xuzhenhu:
範例我已經修改了,寫程式要懂得變通哦!希望我的回答你還滿意。
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Var FDownPoint: TPoint; begin if Button=mbRight then begin GetCursorPos(FDownPoint); PopupMenu1.Popup(FDownPoint.X,FDownPoint.Y); end; end; |
xuzhenhu
一般會員 發表:4 回覆:3 積分:1 註冊:2003-04-05 發送簡訊給我 |
|
xfile
初階會員 發表:21 回覆:80 積分:25 註冊:2004-10-02 發送簡訊給我 |
引言: 改變你對Delphi內建RichEdit的看法 去下載吧!(含範例,範例是用Delphi6編寫的) http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip 我將整個以上的功能都整理好了 我想大家都很聰明,應該不用我再為範例多做解釋了 發表人 - akai 於 2003/05/29 22:03:44小弟資質駑鈍,還是希望這位前輩高手能詳細解釋一下,因為它牽涉到 太多技術,小弟完全看不懂 :( 因為小弟用的是 BCB,想在 BCB 重現它的功能就必須改寫它, 雖然直接匯入 .pas 檔加 include 可以套用過來,不過這不是長久之計, 因為這對功力沒有幫助。 改寫對目前的我來說近乎不可能,因為它的原理和轉換看得我頭昏腦漲... 看起來它是改寫 RichEdit 的內部設定了 ? 發表人 - xfile 於 2004/10/25 15:29:19 發表人 - xfile 於 2004/10/25 16:59:26 |
zhvickie
一般會員 發表:16 回覆:41 積分:11 註冊:2003-05-11 發送簡訊給我 |
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
引言:我不確定您是需要RichEdit的哪一項功能 如果您覺得複雜麻煩看不懂,而無法改成BCB版 我會建議您放棄參考本篇文章 請參考我所發表的 功能更強大的TWebBrowser http://delphi.ktop.com.tw/topic.php?TOPIC_ID=50859 我想也許對您會有所幫助 基本上Outlook Express,MSN Messenger,Word,IE...都有用到這個元件, 您可自行推想這元件的強大威力 我相信RichEdit可辦到的功能 TWebBrowser也能辦到 MSDN上也有許多相關資訊可查詢 請多加利用 P.S:我沒用過BCB,BCB上應該有TWebBrowser元件吧,如果沒有的話,請把我以上的言論略過,謝謝!引言: 改變你對Delphi內建RichEdit的看法 去下載吧!(含範例,範例是用Delphi6編寫的) http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip 我將整個以上的功能都整理好了 我想大家都很聰明,應該不用我再為範例多做解釋了 發表人 - akai 於 2003/05/29 22:03:44小弟資質駑鈍,還是希望這位前輩高手能詳細解釋一下,因為它牽涉到 太多技術,小弟完全看不懂 :( 因為小弟用的是 BCB,想在 BCB 重現它的功能就必須改寫它, 雖然直接匯入 .pas 檔加 include 可以套用過來,不過這不是長久之計, 因為這對功力沒有幫助。 改寫對目前的我來說近乎不可能,因為它的原理和轉換看得我頭昏腦漲... 看起來它是改寫 RichEdit 的內部設定了 ? 發表人 - xfile 於 2004/10/25 15:29:19 發表人 - xfile 於 2004/10/25 16:59:26 |
xfile
初階會員 發表:21 回覆:80 積分:25 註冊:2004-10-02 發送簡訊給我 |
引言:這篇分享的確很有參考價值,但是 ... 因為沒有什麼註解,所以很難看懂,完全不知道那三個重要檔案中 前置作業的那些動作到底是在做什麼 < > 更離奇的是 > 唉 .... 線索是有了,不過距離理想還很遠 ..... 請原諒小弟這麼久才回覆,因為系統沒有通知,我也不知道有人回應< > 發表人 -引言:我不確定您是需要RichEdit的哪一項功能 如果您覺得複雜麻煩看不懂,而無法改成BCB版 我會建議您放棄參考本篇文章 請參考我所發表的 功能更強大的TWebBrowser引言: http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip 我將整個以上的功能都整理好了 我想大家都很聰明,應該不用我再為範例多做解釋了小弟資質駑鈍,還是希望這位前輩高手能詳細解釋一下,因為它牽涉到 太多技術,小弟完全看不懂 :( |
zhengdelphi
一般會員 發表:4 回覆:5 積分:1 註冊:2005-03-10 發送簡訊給我 |
to akai:
我下载了RichEditPlus.zip,非常感谢!
现在我碰到一个问题:
我在RichEditPlus.zip中运行试用,可以在RichEdit中插入一个文档图标。并把RichEdit的内容保存成文件。在程序外打开,内容正确。我在我的程序中,可以插入文档,但保存到文件时,在外面打开文件后,不能看到文档图标。只有一个空格位置。
另外,请教如何把有插入文档的文件保存到Access的数据库中。我可以保存一个文件到OLE对象,带有插入文档的文件是否也一样,反过来,显示如何处理?
谢谢!!!
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
引言: to akai: 我下载了RichEditPlus.zip,非常感谢! 现在我碰到一个问题: 我在RichEditPlus.zip中运行试用,可以在RichEdit中插入一个文档图标。并把RichEdit的内容保存成文件。在程序外打开,内容正确。我在我的程序中,可以插入文档,但保存到文件时,在外面打开文件后,不能看到文档图标。只有一个空格位置。 另外,请教如何把有插入文档的文件保存到Access的数据库中。我可以保存一个文件到OLE对象,带有插入文档的文件是否也一样,反过来,显示如何处理? 谢谢!!!我不曉得您是用何種副檔名存檔 請將副檔名修改為rtf RichEdit自然會將圖檔一併寫入文件中 RichEdit1.Lines.SaveToFile('c:\1.rtf');您直接將文件用UltraEdit等可查看16進制碼的軟體查看 可以發現圖檔部分已經轉換成RTF格式 RichEditPlus中也有BmpToRTF的Function 請參考 至於將資料寫入Access我想應該沒太大問題才對 關於ACCESS部分 我仍然不確定您希望用何種方式寫入讀出 請嘗試使用SaveToStreamu以及LoadFromStream 如希望用String方式寫入讀出 我想StreamToStr以及StrToStream 應該可以給你些幫助 祝好運 P.S: 以下Function是在google找到的,我沒測試過,不過原理應該沒太大出入 function StreamToStr(Stream: TStream): string; begin setLength(result, Stream.Size); Stream.Position := 0; Stream.ReadBuffer(result[1], Stream.Size); end; procedure StrToStream(var S: string; Stream: TStream); begin Stream.Position := 0; Stream.WriteBuffer(s[1], length(s)); end; |
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
引言:引言:這篇分享的確很有參考價值,但是 ... 因為沒有什麼註解,所以很難看懂,完全不知道那三個重要檔案中 前置作業的那些動作到底是在做什麼 < > 更離奇的是 > 唉 .... 線索是有了,不過距離理想還很遠 ..... 請原諒小弟這麼久才回覆,因為系統沒有通知,我也不知道有人回應< > 發表人 - > 沒關係 系統也沒通知我 我不曉得您所寫到的「利用指令的方式去插入圖片」是指什麼 我範例中的Add BMP不也是透過指令嗎? 如是不要讓使用者修改 為何不將屬性ReadOnly設定為True呢?引言:我不確定您是需要RichEdit的哪一項功能 如果您覺得複雜麻煩看不懂,而無法改成BCB版 我會建議您放棄參考本篇文章 請參考我所發表的 功能更強大的TWebBrowser引言: http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip 我將整個以上的功能都整理好了 我想大家都很聰明,應該不用我再為範例多做解釋了小弟資質駑鈍,還是希望這位前輩高手能詳細解釋一下,因為它牽涉到 太多技術,小弟完全看不懂 :( |
zhengdelphi
一般會員 發表:4 回覆:5 積分:1 註冊:2005-03-10 發送簡訊給我 |
非常感谢akai 的答复
我尝试后,发现在richedit中保存成.rtf格式后,确实可以保留ole对象。一切正常。
但我做的程序是一个事务管理程序(用于单位内的个人事务登记、和同事共享),在Access表中有一个OLE对象,保存事务内容。在程序中有一个DBrichedit显示ole字段的内容。我可以在DBrichedit中插入ole对象,但保存到文档时OLE对象是一个空格。并且保存到Access数据库中也一样。请教如何解决?
1、可以连带ole对象保存到数据库中
2、显示时,可以在DBrichedit中原样显示。
3、仍能保留双击ole图标可以打开文档的功能。 我现在有两个变通的考虑:
1、可以用richedit来显示ole字段的内容,但希望能实现上面的三个问题。能插入ole对象,保存到Access,能从数据库显示原样。
2、将ole对象保存到另一张表,从数据库中读出后,保存到文件,然后用一个richedit来显示图标(insertfromfile)。(可能有多个),这个办法是我不希望的,但现在我碰到一个问题:我如何在richedit中删除一个ole对象后,能相应的删除这个ole对象对应的文件。我才可以在数据保存时,在相关的ole对象都保存到数据库 非常感谢!!!
谢谢您的帮助。
|
xfile
初階會員 發表:21 回覆:80 積分:25 註冊:2004-10-02 發送簡訊給我 |
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
引言:引言: 我不曉得您所寫到的「利用指令的方式去插入圖片」是指什麼 我範例中的Add BMP不也是透過指令嗎? 如是不要讓使用者修改 為何不將屬性ReadOnly設定為True呢?抱歉抱歉,當時功力不夠沒能看出來 剛剛試了一下,即使改成 ReadOnly,圖片還是可以改變大小 要改成跟 >>< face="Verdana, Arial, Helvetica"> 基本上MSN應該是用TWebBrowser不是RichEdit http://delphi.ktop.com.tw/topic.php?TOPIC_ID=50859 兩者功能是不相同的 如果有研究精神 我會建議深入研究TWebBrowser |
Blueberrug
一般會員 發表:14 回覆:50 積分:17 註冊:2005-05-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |