作成日: 2017/06/21 最終更新日: 2017/12/22
文書種別
不具合
発生環境
TextRenderer.dllを使用した描画の場合は発生しません。
状況
修正済み
詳細
この現象は、2つ以上の改行文字を末尾に追加したテキストを設定した場合に発生します。
MultiLineプロパティを提供する以下のセル型で発生します:
・標準型セル
・テキスト型セル
以下、テキスト型セルの例です。
【実行手順】
1. SPREADを配置します
2. 以下のサンプルコードをコピーして実行します
- A1セルのテキストの上部が少し切れて表示されない
【サンプルコード】
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' テキスト型セルの設定
Dim textCell As New FarPoint.Win.Spread.CellType.TextCellType()
textCell.Multiline = True
FpSpread1.ActiveSheet.Columns(0).CellType = textCell
FpSpread1.ActiveSheet.Columns(0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom
' テストデータの設定
FpSpread1.ActiveSheet.SetValue(0, 0, "1行目" & vbCrLf & "2行目" & vbCrLf & vbCrLf)
FpSpread1.ActiveSheet.SetRowHeight(0, 50)
End Sub
MultiLineプロパティを提供する以下のセル型で発生します:
・標準型セル
・テキスト型セル
以下、テキスト型セルの例です。
【実行手順】
1. SPREADを配置します
2. 以下のサンプルコードをコピーして実行します
- A1セルのテキストの上部が少し切れて表示されない
【サンプルコード】
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' テキスト型セルの設定
Dim textCell As New FarPoint.Win.Spread.CellType.TextCellType()
textCell.Multiline = True
FpSpread1.ActiveSheet.Columns(0).CellType = textCell
FpSpread1.ActiveSheet.Columns(0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom
' テストデータの設定
FpSpread1.ActiveSheet.SetValue(0, 0, "1行目" & vbCrLf & "2行目" & vbCrLf & vbCrLf)
FpSpread1.ActiveSheet.SetRowHeight(0, 50)
End Sub
回避方法
Service Pack 2(v10.0.4006.2012)で修正済み。
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------
TextAdjustmentSpacingプロパティでテキスト描画時の余白を微調整することで回避できます。
【サンプルコード】
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' テキスト型セルの設定
Dim textCell As New FarPoint.Win.Spread.CellType.TextCellType()
textCell.Multiline = True
'【回避方法】TextAdjustmentSpacingを設定---------
textCell.TextAdjustmentSpacing = 6
FpSpread1.ActiveSheet.Columns(0).CellType = textCell
FpSpread1.ActiveSheet.Columns(0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom
' テストデータの設定
FpSpread1.ActiveSheet.SetValue(0, 0, "1行目" & vbCrLf & "2行目" & vbCrLf & vbCrLf)
FpSpread1.ActiveSheet.SetRowHeight(0, 50)
End Sub
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------
TextAdjustmentSpacingプロパティでテキスト描画時の余白を微調整することで回避できます。
【サンプルコード】
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' テキスト型セルの設定
Dim textCell As New FarPoint.Win.Spread.CellType.TextCellType()
textCell.Multiline = True
'【回避方法】TextAdjustmentSpacingを設定---------
textCell.TextAdjustmentSpacing = 6
FpSpread1.ActiveSheet.Columns(0).CellType = textCell
FpSpread1.ActiveSheet.Columns(0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom
' テストデータの設定
FpSpread1.ActiveSheet.SetValue(0, 0, "1行目" & vbCrLf & "2行目" & vbCrLf & vbCrLf)
FpSpread1.ActiveSheet.SetRowHeight(0, 50)
End Sub
旧文書番号
40747