如何在QRLabel所顯示的文字當中將某幾個字變為紅色? |
答題得分者是:hagar
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
|
bruce
中階會員 ![]() ![]() ![]() 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
'【繳回的金額為' ' -100' '元】'
請拆成三段,再組合起起,試試囉 ===================引 用 channel 文 章=================== 各位delphi前輩: 不管是QRLabel、QRMemo或QRRichText…還是其他元件,能否在顯示的文字當中將某幾個字變為紅色? 例:【繳回的金額為-100元】,將【】中的文字顯示在QRLabel、QRMemo或QRRichText… ps:只能使用一個元件…因為【】中的文字是動態產生的,所以無法將【】中的文字放在不同的元件中 敬請指教,感繳不盡… |
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
bruce:
QRLabel.Caption := 繳回的金額為-100元; 您說拆成三段,再組合起來,小弟不太懂意思耶? 敬請指教,感繳不盡… ===================引 用 bruce 文 章=================== '【繳回的金額為'?? ? ? ' -100'??? ? '元】' 請拆成三段,再組合起起,試試囉 ===================引 用 channel 文 章=================== 各位delphi前輩: 不管是QRLabel、QRMemo或QRRichText…還是其他元件,能否在顯示的文字當中將某幾個字變為紅色? 例:【繳回的金額為-100元】,將【】中的文字顯示在QRLabel、QRMemo或QRRichText… ps:只能使用一個元件…因為【】中的文字是動態產生的,所以無法將【】中的文字放在不同的元件中 敬請指教,感繳不盡…
------
~小弟淺見,參考看看~ |
bruce
中階會員 ![]() ![]() ![]() 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
報表輸出= QRLabel.Caption QRLabe2.Caption QRLabe3.Caption 這就是三段組合的意思,需增加兩個元件來組合。 ===================引 用 channel 文 章=================== bruce: QRLabel.Caption := 繳回的金額為-100元; 您說拆成三段,再組合起來,小弟不太懂意思耶? 敬請指教,感繳不盡… ===================引 用 bruce 文 章=================== '【繳回的金額為'?? ? ? ' -100'??? ? '元】' 請拆成三段,再組合起起,試試囉 ===================引 用 channel 文 章=================== 各位delphi前輩: 不管是QRLabel、QRMemo或QRRichText…還是其他元件,能否在顯示的文字當中將某幾個字變為紅色? 例:【繳回的金額為-100元】,將【】中的文字顯示在QRLabel、QRMemo或QRRichText… ps:只能使用一個元件…因為【】中的文字是動態產生的,所以無法將【】中的文字放在不同的元件中 敬請指教,感繳不盡… |
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
bruce:
不好意思,前輩好像沒有看到小弟有說明只能使用一個元件 因為文字是動態產生,且會超過一行,-100出現的位置有時會在第一行,有時會在第二行 所以若我放三個元件,就要寫一些程式去取得正確的位罝(Top、Left)… 看前輩這樣的解答,是不是無法在同一個元件顯示的文字當中將某幾個字變為紅色? 小弟是不是要用三個元件,自已算出Top、Left的位置來達成我想要的功能? 敬請指教,感繳不盡… ===================引 用 bruce 文 章=================== 報表輸出= QRLabel.Caption QRLabe2.Caption QRLabe3.Caption? 這就是三段組合的意思,需增加兩個元件來組合。 ===================引 用 channel 文 章=================== bruce: QRLabel.Caption := 繳回的金額為-100元; 您說拆成三段,再組合起來,小弟不太懂意思耶? 敬請指教,感繳不盡… ===================引 用 bruce 文 章=================== '【繳回的金額為'?? ? ? ' -100'??? ? '元】' 請拆成三段,再組合起起,試試囉 ===================引 用 channel 文 章=================== 各位delphi前輩: 不管是QRLabel、QRMemo或QRRichText…還是其他元件,能否在顯示的文字當中將某幾個字變為紅色? 例:【繳回的金額為-100元】,將【】中的文字顯示在QRLabel、QRMemo或QRRichText… ps:只能使用一個元件…因為【】中的文字是動態產生的,所以無法將【】中的文字放在不同的元件中 敬請指教,感繳不盡…
------
~小弟淺見,參考看看~ |
bruce
中階會員 ![]() ![]() ![]() 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
編輯記錄
taishyang 重新編輯於 2007-05-14 13:42:55, 註解 無‧
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
taishyang:
使用Canvas…Good idea…感謝您… 剛經小弟測試的結果好像只能使用QRImage這個元件… 以下是小弟的實作範例,就會顯示為【繳回的金額為-100元】 QRImage1.Canvas.Font.Name := '標楷體'; QRImage1.Canvas.Brush.Color := clWhite; QRImage1.Canvas.Font.Size := 10; QRImage1.Canvas.Font.Color := clBlack; QRImage1.Canvas.TextOut(0, 0, '繳回的金額為'); QRImage1.Canvas.Font.Color := clRed; QRImage1.Canvas.TextOut(QRImage1.Canvas.TextWidth('繳回的金額為'), 0, '-100'); QRImage1.Canvas.Font.Color := clBlack; QRImage1.Canvas.TextOut(QRImage1.Canvas.TextWidth('繳回的金額為-100'), 0, '元'); ===================引 用 taishyang 文 章=================== 小弟有看到這篇可以讓label分段顯示不同顏色 http://www.cobbler.tw/message.aspx?topic_id=36516 不知道能不能套用在QRLabel上
------
~小弟淺見,參考看看~ |
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
前輩,小弟用BCB用下面的code測試OK,但不會轉Delphi,請您自轉一下^^
<textarea class="cpp" rows="10" cols="60" name="code"> TControlCanvas *Canvas = new TControlCanvas; Canvas->Control = QRLabel1; Canvas->TextOutA(0, 0, "AAAA"); Canvas->Font->Color = clRed; Canvas->TextOutA(Canvas->TextWidth("AAAA"),0,"NNNN"); Canvas->Font->Color = clBlack; delete Canvas; </textarea> |
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
taishyang:
以下是小弟將前輩的BCB CODE 轉為DELPHI CODE 不過有一個問題,若QuickReport不是在Preview狀態的話就可以顯示-->繳回的金額為-100元 若為Preview狀態的話就無法顯示,只會顯示原QRLabel1.Caption,也就是無將aCanvas.TextOut的字串Assign給QRLabel1 不知前輩是否有遇到相同的問題?可否幫小弟解惑一下…感激不盡… <textarea class="delphi" rows="10" cols="60" name="code"> var aCanvas: TControlCanvas; begin aCanvas := TControlCanvas.Create; try aCanvas.Control := QRLabel1; aCanvas.Font.Name := '標楷體'; aCanvas.Brush.Color := clWhite; aCanvas.Font.Size := 12; aCanvas.Font.Color := clBlack; aCanvas.TextOut(0, 0, '繳回的金額為'); aCanvas.Font.Color := clRed; aCanvas.TextOut(aCanvas.TextWidth('繳回的金額為'), 0, '-100'); aCanvas.Font.Color := clBlack; aCanvas.TextOut(aCanvas.TextWidth('繳回的金額為-100'), 0, '元'); finally FreeAndNil(aCanvas); end; end; </textarea> ===================引 用 taishyang 文 章=================== 前輩,小弟用BCB用下面的code測試OK,但不會轉Delphi,請您自轉一下^^ <textarea class="cpp" rows="10" cols="60" name="code">????TControlCanvas *Canvas = new TControlCanvas; ????Canvas->Control = QRLabel1; ????Canvas->TextOutA(0, 0, "AAAA"); ????Canvas->Font->Color = clRed; ????Canvas->TextOutA(Canvas->TextWidth("AAAA"),0,"NNNN"); ????Canvas->Font->Color = clBlack; ????delete Canvas; </textarea>
------
~小弟淺見,參考看看~ |
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
運用一個 TRichEdit, 設定字型的變換後
再將內容塞給 TQRRichText, 然後設定 TQRRichText.ParentRichEdit 屬性為 TRichEdit 即可
程式碼大致如下:
<textarea class="delphi" rows="10" cols="60" name="code"> uses ComCtrls; var re: TRichEdit; procedure TForm1.Button1Click(Sender: TObject); begin Form2.QRRichText1.Lines.Assign(re.Lines); Form2.QRRichText1.ParentRichEdit := re; Form2.QuickRep1.Preview; end; procedure TForm1.FormCreate(Sender: TObject); begin re := TRichEdit.Create(Self); re.Parent := Self; re.Visible := False; re.Lines.Add('繳回的金額為 -100 元'); re.SelStart := 13; re.SelLength := 4; re.SelAttributes.Color := clRed; end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(re); end; </textarea> |
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
hagar兄:
阿里阿多,感謝您的回覆,小弟的問題經您的答覆已解決了,感恩… ===================引 用 hagar 文 章=================== 運用一個 TRichEdit, 設定字型的變換後再將內容塞給 TQRRichText, 然後設定 TQRRichText.ParentRichEdit 屬性為 TRichEdit 即可程式碼大致如下: <textarea class="delphi" rows="10" cols="60" name="code">uses ComCtrls; var re: TRichEdit; procedure TForm1.Button1Click(Sender: TObject); begin Form2.QRRichText1.Lines.Assign(re.Lines); Form2.QRRichText1.ParentRichEdit := re; Form2.QuickRep1.Preview; end; procedure TForm1.FormCreate(Sender: TObject); begin re := TRichEdit.Create(Self); re.Parent := Self; re.Visible := False; re.Lines.Add('繳回的金額為 -100 元'); re.SelStart := 13; re.SelLength := 4; re.SelAttributes.Color := clRed; end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(re); end; </textarea>
------
~小弟淺見,參考看看~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |