FarPoint.Win.Spread アセンブリ > FarPoint.Win.Spread.CellType 名前空間 > IRenderer インターフェース : GetPreferredSize メソッド |
'宣言
Function GetPreferredSize( _ ByVal g As Graphics, _ ByVal size As Size, _ ByVal appearance As Appearance, _ ByVal value As Object, _ ByVal zoomFactor As Single _ ) As Size
Size GetPreferredSize( Graphics g, Size size, Appearance appearance, object value, float zoomFactor )
セルのテキストを複数行に折り返すよう設定している場合(GeneralCellTypeのWordWrapがTrueであるか、TextCellTypeのMultilineまたはWordWrapあるいはその両方がTrueの場合)、このメソッドは、セル内のすべてのテキストを表示するのに最適な高さを、現在の行の高さで返します。テキスト型セルまたはテキストを含むヘッダセルの場合は、テキスト型セルまたはヘッダセルのWordWrapプロパティをFalseに設定して、ワードラップを必ず無効にしてください。
zoomFactorパラメータの限度については、シートのZoomFactorプロパティを参照してください。
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(); }
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