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

MEMO或RICHEDIT的字型背景

答題得分者是:pgdennis
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-04 21:48:35 IP:61.59.xxx.xxx 未訂閱
想請教各位前輩 如果我想改變MEMO或是RICHEDIT的字型背景顏色 是否有辦法做到。 不是要作RICHEDIT.COLOR的改變 而是針對特定字串更改背景的方式 例如:    我是黃色 我是紅色 這樣是否可以做得到呢?
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-04 23:52:15 IP:61.59.xxx.xxx 未訂閱
更改字的顏色要不要..不是背景..寫一個小程式你看看...自行修改, class="code"> unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TCharFormat = record cbSize: UINT; dwMask: Longint; dwEffects: Longint; yHeight: Longint; yOffset: Longint; crTextColor: TColorRef; bCharSet: Byte; bPitchAndFamily: Byte; szFaceName: array[0..LF_FACESIZE - 1] of AnsiChar; end; TForm1 = class(TForm) Button1: TButton; RichEdit1: TRichEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure changecolor(a,b,c:byte); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.changecolor(a,b,c:byte); var CharFormat : TCharFormat; const EM_GETCHARFORMAT=WM_USER 58; const EM_SETCHARFORMAT=WM_USER 68; begin ZeroMemory(@CharFormat, SizeOf(TCharFormat)); with CharFormat do begin cbSize := SizeOf(TCharFormat); {先取得原本char的charfotmat} RichEdit1.Perform(EM_GETCHARFORMAT, 1, LParam(@CharFormat)); {更改顏色} crTextColor:=rgb(a,b,c); RichEdit1.Perform(EM_SETCHARFORMAT, wParam(1), LParam(@CharFormat)); end; RichEdit1.SetFocus; RichEdit1.SelLength := 0; end; procedure TForm1.Button1Click(Sender: TObject); begin changecolor(255,44,55); end; end. 發表人 -
------
星期一,二...無窮迴圈@@
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-05 14:13:31 IP:61.59.xxx.xxx 未訂閱
ㄜ...我發現我似乎有點表達錯誤... 應該說我寫的跟我想問的不一樣 我想請教的是字的背景,而非字的顏色 有點像delphi編輯器那樣,可以任意改變某些字的背景那樣... 造成誤解,真是抱歉了! 但還是謝謝回覆!
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-05 17:02:34 IP:61.59.xxx.xxx 未訂閱
引言: ㄜ...我發現我似乎有點表達錯誤... 應該說我寫的跟我想問的不一樣 我想請教的是字的背景,而非字的顏色 有點像delphi編輯器那樣,可以任意改變某些字的背景那樣... 造成誤解,真是抱歉了! 但還是謝謝回覆!
恩..其實你要的功能MSDN上也有提供,不過我就是試不出來,在這邊 >
------
星期一,二...無窮迴圈@@
系統時間:2024-05-16 15:26:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!