Posted 8 September 2017, 6:20 am EST
How does fpspread calculate the preferred row height in the sheat header(s)?
In this example the sheet rows loop through the GetPreferredSize function and the header rows do not.
GetPreferredSize
Imports FarPoint.Win.Spread
Imports FarPoint.Win.Spread.CellType
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim h As New hr
FpSpread1.Sheets(0).ColumnHeader.Cells(0, 0, 0, 2).Renderer = h
FpSpread1.Sheets(0).Cells(0, 2, 0, 4).Renderer = h
FpSpread1.Sheets(0).ColumnHeader.Cells(0, 3).Text = “Testing” & vbCrLf & “123”
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Debug.Print("Column Header preferred Height" & FpSpread1.Sheets(0).ColumnHeader.Rows(0).GetPreferredHeight.ToString) Debug.Print("Spreadsheet preferred Height" & FpSpread1.Sheets(0).Rows(0).GetPreferredHeight.ToString) End Sub
End Class
Public Class hr
Inherits FarPoint.Win.Spread.CellType.ColumnHeaderRenderer
Implements CellType.IRenderer
Public Overrides Sub PaintCell(g As Graphics, r As Rectangle, appearance As Appearance, value As Object, isSelected As Boolean, isLocked As Boolean, zoomFactor As Single) Implements IRenderer.PaintCell
End Sub Public Overloads Function GetPreferredSize(g As Graphics, size As Size, appearance As Appearance, value As Object, zoomFactor As Single) As Size Implements IRenderer.GetPreferredSize Debug.Print("Checking") Return New Size(50, 50) End Function
End Class