Spread Windows Forms 6.0 Product Documentation
GetPreferredSize Method
See Also  Example Support Options
FarPoint.Win.Spread Assembly > FarPoint.Win.Spread.CellType Namespace > IRenderer Interface : GetPreferredSize Method


g
Graphics device interface for painting the cell
size
Preferred or maximum needed size
appearance
Appearance settings of the renderer control
value
Object containing the name of the renderer control
zoomFactor
Numeric value for scaling the display of the renderer control

Glossary Item Box

Gets the preferred (maximum needed) size of the cell for the renderer control.

Syntax

Visual Basic (Declaration) 
Function GetPreferredSize( _
   ByVal g As Graphics, _
   ByVal size As Size, _
   ByVal appearance As Appearance, _
   ByVal value As Object, _
   ByVal zoomFactor As Single _
) As Size
Visual Basic (Usage)Copy Code
Dim instance As IRenderer
Dim g As Graphics
Dim size As Size
Dim appearance As Appearance
Dim value As Object
Dim zoomFactor As Single
Dim value As Size
 
value = instance.GetPreferredSize(g, size, appearance, value, zoomFactor)
C# 
Size GetPreferredSize( 
   Graphics g,
   Size size,
   Appearance appearance,
   object value,
   float zoomFactor
)

Parameters

g
Graphics device interface for painting the cell
size
Preferred or maximum needed size
appearance
Appearance settings of the renderer control
value
Object containing the name of the renderer control
zoomFactor
Numeric value for scaling the display of the renderer control

Return Value

Size object containing the preferred size (maximum needed size) of the cell for the renderer control

Remarks

If you have set up the cells to format the text with multiple lines (GeneralCellType with WordWrap equal to true, or TextCellType with Multiline or WordWrap or both equal to true), then this method returns the optimal height to show all of the text in the cell with the current row height. For text cells or header cells with text, be sure that you turn off word wrapping by setting the WordWrap property for that text cell or header cell to false.

For limits on the zoomFactor parameter, refer to the ZoomFactor property for the sheet.

Example

This example subclasses the IRenderer class and creates a custom renderer for the first cell in the spreadsheet to illustrate the use of the methods and events.
C#Copy Code
public static CheckBox ck = new CheckBox();

class myRenderer : FarPoint.Win.Spread.CellType.IRenderer
{
  public bool CanOverflow()
  {
      return true;
  }
  public bool CanBeOverflown()
  {
      return true;
  }
  public Size GetPreferredSize(Graphics g, Size s, FarPoint.Win.Spread.Appearance appr, object value, float zoom)
 {
      s = new Size(50, 50);
      return s;
  }
  public void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appr, object value, bool issel, bool islocked,
float zoom) 
  {
      string s;
      ck.CheckState = CheckState.Checked;
      s = ck.CheckState.ToString();
      Font f = new Font("MS Sans Serif", 10);
      appr.BackColor = Color.Red;
      appr.ForeColor = Color.Yellow;
      appr.Font = f;
      Brush b, b1;
      b = new SolidBrush(appr.BackColor);
      b1 = new SolidBrush(appr.ForeColor);
      g.FillRectangle(b, r);
      g.DrawString(s, appr.Font, b1, r);
      b.Dispose();
      b1.Dispose();
      }
}

private void Form1_Load(object sender, System.EventArgs e)
{
      fpSpread1.ActiveSheet.Cells[0, 0].Renderer = new myRenderer();
}
Visual BasicCopy Code
Shared ck As New CheckBox()

Public Class myRenderer
Implements FarPoint.Win.Spread.CellType.IRenderer

Public Function CanBeOverflown() As Boolean Implements FarPoint.Win.Spread.CellType.IRenderer.CanBeOverflown
      Return True
End Function

Public Function CanOverflow() As Boolean Implements FarPoint.Win.Spread.CellType.IRenderer.CanOverflow
      Return True
End Function

Public Function GetPreferredSize(ByVal g As Graphics, ByVal s As Size, ByVal appr As FarPoint.Win.Spread.Appearance, ByVal
value As Object, ByVal zoom As Single) As Size Implements FarPoint.Win.Spread.CellType.IRenderer.GetPreferredSize
      s = New Size(50, 50)
      Return s
End Function

Public Sub PaintCell(ByVal g As Graphics, ByVal r As Rectangle, ByVal appr As FarPoint.Win.Spread.Appearance, ByVal Value
As Object, ByVal issel As Boolean, ByVal islocked As Boolean, ByVal zoom As Single) Implements FarPoint.Win.Spread.CellType.IRenderer.PaintCell
      Dim s As String
      ck.CheckState = CheckState.Checked
      s = ck.CheckState.ToString()
      Dim f As New Font("MS Sans Serif", 10)
      appr.BackColor = Color.Red
      appr.ForeColor = Color.Yellow
      appr.Font = f
      Dim b, b1 As Brush
      b = New SolidBrush(appr.BackColor)
      b1 = New SolidBrush(appr.ForeColor)
      g.FillRectangle(b, r)
      g.DrawString(s, appr.Font, b1, r.X, r.Y)
      b.Dispose()
      b1.Dispose()
End Sub

End Class

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      FpSpread1.ActiveSheet.Cells(0, 0).Renderer = New myRenderer()
End Sub

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

© 2002-2012 ComponentOne, a division of GrapeCity. All Rights Reserved.