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

改變你對Delphi內建RichEdit的看法

 
akai
一般會員


發表:27
回覆:22
積分:9
註冊:2003-03-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-23 13:23:55 IP:61.222.xxx.xxx 未訂閱
改變你對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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-23 18:37:11 IP:61.182.xxx.xxx 未訂閱
http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip not download modify please
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-23 19:32:49 IP:218.16.xxx.xxx 未訂閱
akai, 多謝你的分享,你的分享很很受好評耶。 我身在大陸也是連不到貴網站。 希望你能上傳一份到本站中方便那些連不到貴網站的會員,謝謝。
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-23 20:06:35 IP:61.221.xxx.xxx 未訂閱
各位網友 我已經上傳了 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-23 20:55:21 IP:211.76.xxx.xxx 未訂閱
謝謝你的幫忙 我正想好好試試上傳的功能呢 謝謝你囉
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-27 19:55:59 IP:218.17.xxx.xxx 未訂閱
的确很不错。谢谢。
xuzhenhu
一般會員


發表:4
回覆:3
積分:1
註冊:2003-04-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-29 20:42:30 IP:218.0.xxx.xxx 未訂閱
好 但是不能再给RichEdit添加右键菜单了.
akai
一般會員


發表:27
回覆:22
積分:9
註冊:2003-03-30

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-29 22:10:55 IP:211.76.xxx.xxx 未訂閱
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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-30 10:54:37 IP:218.0.xxx.xxx 未訂閱
谢谢akai大哥,小弟刚学Delphi.
xfile
初階會員


發表:21
回覆:80
積分:25
註冊:2004-10-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-10-25 15:21:31 IP:220.130.xxx.xxx 未訂閱
引言: 改變你對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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-10-25 19:59:41 IP:137.132.xxx.xxx 未訂閱
好像不能从剪贴板粘贴图片 另外谁能做个bcb的例子.
akai
一般會員


發表:27
回覆:22
積分:9
註冊:2003-03-30

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-10-26 00:31:29 IP:61.59.xxx.xxx 未訂閱
引言: 好像不能从剪贴板粘贴图片 另外谁能做个bcb的例子.
可以透過剪貼簿在RichEdit貼上圖片 請參考範例中按鈕paste Link , Str , Image....
akai
一般會員


發表:27
回覆:22
積分:9
註冊:2003-03-30

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-10-26 00:44:21 IP:61.59.xxx.xxx 未訂閱
引言:
引言: 改變你對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
我不確定您是需要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元件吧,如果沒有的話,請把我以上的言論略過,謝謝!
xfile
初階會員


發表:21
回覆:80
積分:25
註冊:2004-10-02

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-01-25 11:57:35 IP:220.130.xxx.xxx 未訂閱
引言:
引言:
引言: http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip 我將整個以上的功能都整理好了 我想大家都很聰明,應該不用我再為範例多做解釋了
小弟資質駑鈍,還是希望這位前輩高手能詳細解釋一下,因為它牽涉到 太多技術,小弟完全看不懂 :(
我不確定您是需要RichEdit的哪一項功能 如果您覺得複雜麻煩看不懂,而無法改成BCB版 我會建議您放棄參考本篇文章 請參考我所發表的 功能更強大的TWebBrowser
這篇分享的確很有參考價值,但是 ... 因為沒有什麼註解,所以很難看懂,完全不知道那三個重要檔案中 前置作業的那些動作到底是在做什麼 < > 更離奇的是 > 唉 .... 線索是有了,不過距離理想還很遠 ..... 請原諒小弟這麼久才回覆,因為系統沒有通知,我也不知道有人回應< > 發表人 -
zhengdelphi
一般會員


發表:4
回覆:5
積分:1
註冊:2005-03-10

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-03-11 10:09:34 IP:219.128.xxx.xxx 未訂閱
to akai: 我下载了RichEditPlus.zip,非常感谢! 现在我碰到一个问题: 我在RichEditPlus.zip中运行试用,可以在RichEdit中插入一个文档图标。并把RichEdit的内容保存成文件。在程序外打开,内容正确。我在我的程序中,可以插入文档,但保存到文件时,在外面打开文件后,不能看到文档图标。只有一个空格位置。 另外,请教如何把有插入文档的文件保存到Access的数据库中。我可以保存一个文件到OLE对象,带有插入文档的文件是否也一样,反过来,显示如何处理? 谢谢!!!
akai
一般會員


發表:27
回覆:22
積分:9
註冊:2003-03-30

發送簡訊給我
#16 引用回覆 回覆 發表時間:2005-03-11 22:02:43 IP:61.59.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#17 引用回覆 回覆 發表時間:2005-03-11 22:25:29 IP:61.59.xxx.xxx 未訂閱
引言:
引言:
引言:
引言: http://ak.no-ip.com/RichEditPlus/RichEditPlus.zip 我將整個以上的功能都整理好了 我想大家都很聰明,應該不用我再為範例多做解釋了
小弟資質駑鈍,還是希望這位前輩高手能詳細解釋一下,因為它牽涉到 太多技術,小弟完全看不懂 :(
我不確定您是需要RichEdit的哪一項功能 如果您覺得複雜麻煩看不懂,而無法改成BCB版 我會建議您放棄參考本篇文章 請參考我所發表的 功能更強大的TWebBrowser
這篇分享的確很有參考價值,但是 ... 因為沒有什麼註解,所以很難看懂,完全不知道那三個重要檔案中 前置作業的那些動作到底是在做什麼 < > 更離奇的是 > 唉 .... 線索是有了,不過距離理想還很遠 ..... 請原諒小弟這麼久才回覆,因為系統沒有通知,我也不知道有人回應< > 發表人 - > 沒關係 系統也沒通知我 我不曉得您所寫到的「利用指令的方式去插入圖片」是指什麼 我範例中的Add BMP不也是透過指令嗎? 如是不要讓使用者修改 為何不將屬性ReadOnly設定為True呢?
zhengdelphi
一般會員


發表:4
回覆:5
積分:1
註冊:2005-03-10

發送簡訊給我
#18 引用回覆 回覆 發表時間:2005-03-12 17:07:55 IP:219.128.xxx.xxx 未訂閱
非常感谢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

發送簡訊給我
#19 引用回覆 回覆 發表時間:2005-03-14 11:06:41 IP:220.130.xxx.xxx 未訂閱
引言: 我不曉得您所寫到的「利用指令的方式去插入圖片」是指什麼 我範例中的Add BMP不也是透過指令嗎? 如是不要讓使用者修改 為何不將屬性ReadOnly設定為True呢?
抱歉抱歉,當時功力不夠沒能看出來 剛剛試了一下,即使改成 ReadOnly,圖片還是可以改變大小 要改成跟
akai
一般會員


發表:27
回覆:22
積分:9
註冊:2003-03-30

發送簡訊給我
#20 引用回覆 回覆 發表時間:2005-03-19 22:44:30 IP:61.59.xxx.xxx 未訂閱
引言:
引言: 我不曉得您所寫到的「利用指令的方式去插入圖片」是指什麼 我範例中的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

發送簡訊給我
#21 引用回覆 回覆 發表時間:2005-06-21 11:52:35 IP:220.130.xxx.xxx 未訂閱
不過用cppwebbrowers好像不能使用在dll的樣子 我打算用main form呼叫child form 而child form裡面有cppwebbrowers這個元件, 結果呼叫失敗了! 不知道是為什麼,請問友人知道如何解決嗎
系統時間:2024-05-16 21:09:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!