2012-03-06 16 views
4

似乎沒有關於此主題的很多信息,所以希望有人可以提供一些建議。如何在Firemonkey的stringgrid單元格中使用不同的字體樣式和圖標

我想更改stringgrid單元格中文本不同部分的顏色和樣式。

實施例: 20-02-2011 - 文檔標題

難道也有可能顯示在stringgrid細胞的圖標?

+2

在一個單元格中?如果是這樣,我希望你需要使用一個TGrid,然後創建一個自定義的單元格/列,它有兩個TText組件,每個組件都有一個字體樣式(但注意我發現了在樣式中設置字體的問題)。看到我的文章定製網格單元格:http://monkeystyler.com/blog/entry/firemonkey-grid-basics-custom-cells-and-columns – 2012-03-06 12:00:29

回答

0

確實有可能在字符串網格中顯示圖標或位圖,Monkey Styler博客包含如何在FMX網格中自定義單元格顯示的示例。

http://monkeystyler.com/blog/entry/firemonkey-grid-basics-custom-cells-and-columns

你的問題的另一部分,雖然思考,你就必須建立一個風格爲顯示在不同字體的文本,至今FMX沒有一個富文本同等或HTML渲染組件(I」 m確定後者會來,前者我不相信會得到一段時間!)。你將不得不在每種不同字體大小/樣式的樣式中都有一個文本組件,你需要命名文本元素(使用綁定或樣式名屬性)並使用ongetvalue和onsetvalue中的代碼處理文本內容的設置事件(我想你也可以使用onapplystyle事件)以粗體顯示一些文本,有些則不顯示。

事件處理程序然後會使用一個綁定 - 這是更容易設置,但 - 在我的經驗 - 越野車;

mycell.binding['boldtext']:='sometext'; 

或者使用findstyleresource通過stylename查找樣式元素;

tempobj:=mycell.findstyleresource('boldtext'); 
if tempobj is ttext then 
    ttext(tempobj).text='sometext'; 

藉口任何不好的編碼風格在那裏,但是你得到的總體思路(我希望)如果你設置自動調整爲true的風格ttext組件並調整他們離開你 - 主要是 - 你是什麼之後。唯一的問題是由此產生的文本看起來並不完美,因爲左側的自動調整和對齊並不能真正爲您提供與richtext或HTML顯示相同的字體之間的空間。你應該能夠擺弄填充(給它一個負數,左邊的填充可以讓你刪除任何額外的空間),但是你必須忍受那些與正確的字體提示和對齊相比完全不完美的東西。

+0

保羅,我的文章涉及TGrid,而不是TStringGrid。我從來沒有在FMX中使用過一個字符串網格,所以不能評論它是否會起作用。 – 2012-03-18 14:23:25

+0

我只是用它作爲一個例子,你實際上可以讓這兩個組件在一個單元中工作;而不是它真的可以在stringgrid組件中工作(不是我會用它,我也會使用網格) – 2012-03-20 19:18:27

相關問題