2012-06-20 22 views
0

我使用D2007和Devexpress QuantumGrid v2011 2.3。我想要像這樣在代碼中分配列headerhint。在Devexpress列中使用自定義字體headerhint

colGoodsMasks.HeaderHint := 
Format('%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s' + 
'%s %-30s %-30s%s', 
['! ', 'Parcel', 'Express goods', sLineBreak, 
'*', 'Parcel', 'Require cold transport', sLineBreak, 
'¤', 'Parcel', 'Require heat transport', sLineBreak, 
'€', 'Parcel', 'Fragile goods', sLineBreak, 
'A', 'Party role', 'Sender', sLineBreak, 
'M', 'Party role', 'Receiver', sLineBreak, 
'S', 'Party role', 'Seller', sLineBreak, 
'K', 'Party role', 'Buyer', sLineBreak, 
'/', 'Party property', 'Require tail lifter', sLineBreak, 
'1⁄2', 'Party property', 'Require only hauler', sLineBreak, 
'¿', 'Party property', 'Require (un)loading from top', sLineBreak, 
'%', 'Party property', 'Require (un)loading from back', sLineBreak, 
'@', 'Party property', 'Require Avi', sLineBreak]); 

結果在提示中應該是3個左對齊的列,但邊距不是直的。我認爲這是因爲字體是成比例的。如何在提示中更改字體,使頁邊空白?

EDIT1: 從商務部得到這個:

當設置爲True全局性的主動提示式的控制器存在的應用程序中,每一個顯示其提示控制使用此提示風格控制器除非在表單中定義另一個(稱爲「本地」)提示樣式控制器。

但我不想更改應用程序或此窗體中任何其他提示的字體。 也許我必須使用HitTest來調用ShowHint? 但不知道如何實現這一點。

GridHint

+1

如何在每個列值之後使用製表符? – 2012-06-20 07:19:44

+0

提示的類型是本機的Delphi THint類還是自定義的THint類? –

+0

@SilentD選項卡字符顯示爲一個框,所以它不是那麼簡單,請參閱http://objectmix.com/delphi/633648-tab-character-hint.html –

回答

2

使用TcxHintStyleController實例。然後將HintStyle.CaptionFont屬性更改爲等寬字體。

+0

是的,那是有效的。但問題是,它也會影響表單上的其他提示。 –