怎麼讓TMemo可以有不同的顏色? |
尚未結案
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
|
Jasonwong
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
|
amide
一般會員 ![]() ![]() 發表:4 回覆:13 積分:13 註冊:2002-07-11 發送簡訊給我 |
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
|
amide
一般會員 ![]() ![]() 發表:4 回覆:13 積分:13 註冊:2002-07-11 發送簡訊給我 |
在TRichEdit5中的文件可以存成RTF格式,這裡面就包括了字型和顏色了,
如果你要改變顏色的部份不多,可以用TRichEdit中的SelStart , SelLength, SelAttributes 來做,然後把文件存成RTF格式,下次Load進來時就有你所設定的顏色了.我剛剛說的為什麼會用RTF的用意是因為用SelAttributes 設定自串屬性時會很慢,如果我是一整篇文章要像Delphi那樣把每個不同類型的字串函式或數字都依設定改變字型和顏色時,使用SelAttributes 會很慢很慢,但是我如果是用RTF格式來載入TRichEdit就會很快....時間上的差異是很明顯的,但是如果你要做的不是一篇文章,而是內容中的幾個關鍵字,那用SelAttributes 就可以了,畢竟比較簡單嘛!!
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
Soga.........原來你說的RTF是這個道理呀...
不過, 好像不知道怎麼在TRichEdit 在讀RTF時, 可以攔截要不要變色的訊息/_\
如果可以攔截TRichEdit 變色或斷行的話, 那我就不會想用TMemo來變色了
因為上次跟站長驗証了一下, Delphi下的TRichEdit沒有我看到的bug.
而在VC或BCB下的TRichEdit有碰到0x83, 0x58就會自己斷行 (@.@) 而日文碼下確有一堆的0x83, 0x58
如果能讓TRichEdit 碰到0x83, 0x58不會作斷行的動作的話, 那TRichEdit就
沒什麼bug了
|
amide
一般會員 ![]() ![]() 發表:4 回覆:13 積分:13 註冊:2002-07-11 發送簡訊給我 |
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
我看您只有用這個元件吧
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=12063
TColorMemo不用錢FreeWare但無Source!
BCB版下載至http://www.balticsolutions.com/downloads.asp 另外有一個GDMEMO有Source的元件,但無法在Delphi 5.0 Compile
您可參考其中程式有關TMemo.OnPaint中的寫法! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
|
鈴鐺
初階會員 ![]() ![]() 發表:33 回覆:81 積分:35 註冊:2002-03-13 發送簡訊給我 |
我的做法:
1. RichEdit
2. 檔案以 plaintext 存入(Save File 前plaintext屬性設為true,存完後改回false)
3. 檔案讀入後由語法檢查程式變更顏色(以select區塊改顏色)
4. 我想要一邊輸入,一邊改變顏色(Call Syntax procedure), 但發生嚴重的畫面閃動現象. http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20855,不過沒人回答
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
就是不想用TRichEdit才問TMemo怎麼變色的!
Cause:
1. TRichEdit是由TCustomMemo來的.
2. TRichEdit還包了RTF格式 <--- 不想用
3. TRichEdit, 到了BCB 6.0還在使用模擬 Ver.1.0的function
從Win98開始, OS就support RichEdit Ver.2.0格式
到了WinXP 還在用模擬 Ver.1.0的function <--- SDK有寫
除非自己加code去開啟Ver. 3.0的功能
4. BCB & VC TRichEdit遇到0x83, 0x58 會無緣無故自己作斷行
Delphi的不會, 而且SDK明明說了, TRichEdit不再Support
判斷如何斷行的callback function. <-- 莫名奇妙
5. 如果只想純文字處理, TRichEit沒TMemo來的快
6. TMemo在BCB 5.0後, 已經沒有檔案64K的限制 基於以上種種理由! TRichEdit只不過多了變色功能, 其他的...
可能還比TMemo差.....>_<
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |