既定では、半角文字に均等割付を使用するとスペース部分が広がる形になりますが、ITextAdjustmentProviderインターフェイスを使用すると半角文字をセル内に均等に表示できます。
半角文字をセル内に均等に表示するには、ITextAdjustmentProviderインターフェイスを実装するクラスを作成します。
Imports GrapeCity.Win.MultiRow
Public Class DistributeEveryChar
Implements ITextAdjustmentProvider
Public Function GetTextElements(text As String) As System.Collections.Generic.IEnumerable(Of String) Implements ITextAdjustmentProvider.GetTextElements
Dim textElements As New List(Of String)()
For i As Integer = 0 To text.Length - 1
textElements.Add(text(i).ToString())
Next
Return textElements
End Function
End Class
using GrapeCity.Win.MultiRow;
public class DistributeEveryChar : ITextAdjustmentProvider
{
public IEnumerable<string> GetTextElements(string text)
{
List<string> textElements = new List<string>();
for (int i = 0; i < text.Length; i++)
{
textElements.Add(text[i].ToString());
}
return textElements;
}
}
均等割付のカスタマイズのために作成したITextAdjustmentProviderインターフェイスを実装したクラスは、
CellStyle.TextAdjustmentProviderプロパティに設定します。
GcMultiRow1(0, 0).Style.UseCompatibleTextRendering = MultiRowTriState.True
GcMultiRow1(0, 0).Style.TextAdjustment = TextAdjustment.DistributeWithSpace
GcMultiRow1(0, 0).Style.TextAdjustmentProvider = New DistributeEveryChar()
gcMultiRow1[0, 0].Style.UseCompatibleTextRendering = MultiRowTriState.True;
gcMultiRow1[0, 0].Style.TextAdjustment = TextAdjustment.DistributeWithSpace;
gcMultiRow1[0, 0].Style.TextAdjustmentProvider = new DistributeEveryChar();