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

如何實現Richedit的自動換行

尚未結案
vclphi
一般會員


發表:28
回覆:39
積分:13
註冊:2003-03-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-10 11:37:26 IP:218.5.xxx.xxx 未訂閱
用Richedit打開一個文件並加大字號後,文件無法自動換行,例如原文為: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 加大字號後,文件變為: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccc 若要求加大字號後,a b二段乃首尾相接,c段另起行(即為原文方式)該如何辦?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-10 11:55:45 IP:202.39.xxx.xxx 未訂閱
TRichEdit.ScrollBars := ssBoth; --- Have you ever wondered what it would be like?
vclphi
一般會員


發表:28
回覆:39
積分:13
註冊:2003-03-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-10 15:12:11 IP:218.5.xxx.xxx 未訂閱
用TRichEdit.ScrollBars := ssBoth;加大字号后,将添加横向滚动条,这样看文稿的人就很不方便,要左右移动滚动条。我注意到‘记事本’也有这毛病,取消自动换行后,加大字号添加横向滚动条。若用自动换行,加大字号又出现我前面说的问题。
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-11 09:30:22 IP:61.223.xxx.xxx 未訂閱
RichEdit1.WordWrap := true;
vclphi
一般會員


發表:28
回覆:39
積分:13
註冊:2003-03-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-11 10:14:46 IP:218.5.xxx.xxx 未訂閱
RichEdit1.WordWrap := true;只起了限制横向滚动条作用,还是不解决问题。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-11 11:16:09 IP:202.39.xxx.xxx 未訂閱
您的意思是將 aaa... 的那一行的換行字元刪除? --- Have you ever wondered what it would be like?
vclphi
一般會員


發表:28
回覆:39
積分:13
註冊:2003-03-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-11 14:54:59 IP:218.5.xxx.xxx 未訂閱
想是我没说明白。我希望加大字号后,文件变为: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccc 你用WINDOWS的‘记事本’打开文件,加大字号后就会看不顺的。
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-11 16:49:33 IP:61.223.xxx.xxx 未訂閱
RichEdit.plaintext:= False 儲存 你参考delphi/demo/richedit
vclphi
一般會員


發表:28
回覆:39
積分:13
註冊:2003-03-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-11 17:16:28 IP:218.5.xxx.xxx 未訂閱
参考delphi/demo/richedit,还是不行,你随便打开个*.txt文件试试。
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-03-12 16:26:53 IP:61.223.xxx.xxx 未訂閱
delphi/demo/richedit 中改變字型大小存檔用 WORDPAD 開啟還是存檔時的字型大小 你的問題可能大家還不了解吧
Justmade
版主


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-03-12 16:59:16 IP:218.16.xxx.xxx 未訂閱
這個問題的根源在於原先輸入這文件的人是以 enter (硬換行字元) 來換行的 (或經軟件處理後變成以每行均以更換行來換行)。 簡單來說,對於無論 notepad / wordpad / 你的 richedit 來說,每一行均是一個新的段落。 所以當你加大字號後,該行放不下便會換到下一行,但由於下一行對電腦來說是新一段落,所以不會自動接上而是保持在另一行裡。 若文件的格式已經是以硬換行來來分行的,應很難有完善的方法去解決這個問題,因電腦不知道那一個硬換行是同一段的換行,而那一個是不同段的換行。若你的文件每段之間留有一空行的話,那便比較好辦,你可以 1. 以 StringReplace() 將雙換行(#13#10#13#10)先變成別的字元 (如#1) 2. 以 StringReplace() 將單換行(13#10))變成 空白字元 3. 以 StringReplace() 將 1. 變了的暫時字元變回雙換行 StringReplace(Str, #13#10#13#10, #1; rfReplaceAll); StringReplace(Str, #13#10, ' '; rfReplaceAll); StringReplace(Str, #1, #13#10#13#10; rfReplaceAll); 這樣文件便可變回一般一段段的文件,隨不同宇號的大小在不同地方換行了。
系統時間:2024-05-14 18:09:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!