Gets the initial location of the subeditor control.
Syntax
Visual Basic (Usage) | Copy Code |
---|
Dim instance As ISubEditor
Dim rect As Rectangle
Dim value As Point
value = instance.GetLocation(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 Basic | Copy 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 2000 Professional (SP4), Windows 2000 Server, Windows 2003 Server (SP1), Windows 2008, Windows XP (SP2), Windows Vista, Windows 7, Windows 8
See Also