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


rect
Rectangle area in which to paint
For more information, see the Rectangle structure in the Microsoft .NET Framework Reference.

Glossary Item Box

Gets the initial location of the subeditor control.

Syntax

Visual Basic (Declaration) 
Function GetLocation( _
   ByVal rect As Rectangle _
) As Point
Visual Basic (Usage)Copy Code
Dim instance As ISubEditor
Dim rect As Rectangle
Dim value As Point
 
value = instance.GetLocation(rect)
C# 
Point GetLocation( 
   Rectangle rect
)

Parameters

rect
Rectangle area in which to paint
For more information, see the Rectangle structure in the Microsoft .NET Framework Reference.

Return Value

Point object containing the location

Example

This example subclasses the ISubEditor class and creates a custom subeditor for the first cell in the spreadsheet to illustrate the use of the methods and events.
C#Copy Code
public class mySubEd : Form, FarPoint.Win.Spread.CellType.ISubEditor
{
public event EventHandler ValueChanged;
public event EventHandler CloseUp;
private TextBox txt = null;
private Button BtnOk = null;
private Button BtnCancel = null;

public mySubEd()
{
      FormBorderStyle = FormBorderStyle.FixedSingle;
      MaximizeBox = false;
      MinimizeBox = false;
      ControlBox = false;
      txt = new TextBox();
      BtnOk = new Button();
      BtnCancel = new Button();
      txt.Location = new Point(0, 0);
      txt.Size = new Size(110, 200);
      txt.ForeColor = Color.Red;
      BtnOk.Location = new Point(3, 75);
      BtnOk.Size = new Size(50, 25);
      BtnOk.Text = "OK";
      BtnOk.ForeColor = Color.Red;
      BtnCancel.Location = new Point(57, 75);
      BtnCancel.Size = new Size(50, 25);
      BtnCancel.Text = "Cancel";
      BtnCancel.ForeColor = Color.Red;
      Controls.Add(txt);
      Controls.Add(BtnOk);
      Controls.Add(BtnCancel);
      Text = "Editor";
      BtnOk.Click += new EventHandler(OK_Clicked);
      BtnCancel.Click += new EventHandler(Cancel_Clicked);
      txt.TextChanged += new EventHandler(txt_TextChanged);
}

private void OK_Clicked(object sender, EventArgs e)
{
      if (ValueChanged != null)
            ValueChanged(this, EventArgs.Empty);
      if (CloseUp != null)
            CloseUp(this, EventArgs.Empty);
}

private void Cancel_Clicked(object sender, EventArgs e)
{
      if (CloseUp != null)
            CloseUp(this, EventArgs.Empty);
}

private void txt_TextChanged(object sender, EventArgs e)
{
      Text = txt.Text;
}

public Point GetLocation(Rectangle rect)
{
      Point pt = new Point(0);
      Size sz = GetPreferredSize();
      pt.Y = (Screen.PrimaryScreen.WorkingArea.Height/2) - (sz.Height/2);
      pt.X = (Screen.PrimaryScreen.WorkingArea.Width/2) - (sz.Width/2);
return pt;
}
public Control GetSubEditorControl()
{
      return this;
}
public object GetValue()
{
      return txt.Text;
}
public void SetValue(object value)
{
      value = txt.Text;
}
public Size GetPreferredSize()
{
      return new Size(115, 130);
}
}

private void Form1_Load(object sender, System.EventArgs e)
{
      FarPoint.Win.Spread.CellType.TextCellType t = new FarPoint.Win.Spread.CellType.TextCellType();
      t.SubEditor = new mySubEd();
      fpSpread1.ActiveSheet.Cells[0, 0].CellType = t;
}
Visual BasicCopy Code
Public Class mySubEd
Inherits Form
Implements FarPoint.Win.Spread.CellType.ISubEditor

Public Event CloseUp(ByVal sender As Object, ByVal e As EventArgs) Implements FarPoint.Win.Spread.CellType.ISubEditor.CloseUp
Public Event ValueChanged(ByVal sender As Object, ByVal e As EventArgs) Implements FarPoint.Win.Spread.CellType.ISubEditor.ValueChanged
Private BtnOk As Button = Nothing
Private BtnCancel As Button = Nothing
Private txt As TextBox = Nothing

Public Sub New()
      FormBorderStyle = FormBorderStyle.FixedSingle
      MaximizeBox = False
      MinimizeBox = False
      ControlBox = False
      txt = New TextBox()
      BtnOk = New Button()
      BtnCancel = New Button()
      txt.Location = New Point(0, 0)
      txt.Size = New Size(110, 200)
      txt.ForeColor = Color.Red
      BtnOk.Location = New Point(3, 75)
      BtnOk.Size = New Size(50, 25)
      BtnOk.Text = "OK"
      BtnOk.ForeColor = Color.Red
      BtnCancel.Location = New Point(57, 75)
      BtnCancel.Size = New Size(50, 25)
      BtnCancel.Text = "Cancel"
      BtnCancel.ForeColor = Color.Red
      Controls.Add(txt)
      Controls.Add(BtnOk)
      Controls.Add(BtnCancel)
      Text = "Editor"
      AddHandler BtnOk.Click, AddressOf OK_Clicked
      AddHandler BtnCancel.Click, AddressOf Close_Clicked
      AddHandler txt.TextChanged, AddressOf txt_TextChanged
End Sub

Private Sub OK_Clicked(ByVal sender As Object, ByVal e As EventArgs)
      RaiseEvent ValueChanged(Me, EventArgs.Empty)
      RaiseEvent CloseUp(Me, EventArgs.Empty)
End Sub

Private Sub Close_Clicked(ByVal sender As Object, ByVal e As EventArgs)
      RaiseEvent CloseUp(Me, EventArgs.Empty)
End Sub

Private Sub txt_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
      Text = txt.Text
End Sub

Public Function GetLocation(ByVal rect As Rectangle) As Point Implements FarPoint.Win.Spread.CellType.ISubEditor.GetLocation
      Dim pt As New Point(0)
      Dim sz As Size = GetPreferredSize()
      pt.Y = (Screen.PrimaryScreen.WorkingArea.Height / 2) - (sz.Height / 2)
      pt.X = (Screen.PrimaryScreen.WorkingArea.Width / 2) - (sz.Width / 2)
      Return pt
End Function

Public Function GetPreferredSize() As Size Implements FarPoint.Win.Spread.CellType.ISubEditor.GetPreferredSize
      Return New Size(115, 130)
End Function

Public Function GetSubEditorControl() As Control Implements FarPoint.Win.Spread.CellType.ISubEditor.GetSubEditorControl
      Return Me
End Function

Public Function GetValue() As Object Implements FarPoint.Win.Spread.CellType.ISubEditor.GetValue
      Return txt.Text
End Function

Public Sub SetValue(ByVal value As Object) Implements FarPoint.Win.Spread.CellType.ISubEditor.SetValue
      value = txt.Text
End Sub
End Class

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Dim t As New FarPoint.Win.Spread.CellType.TextCellType()
      t.SubEditor = New mySubEd()
      FpSpread1.ActiveSheet.Cells(0, 0).CellType = t
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.