MESCIUS SPREAD for Windows Forms 15.0J
SubEditor プロパティ (EditBaseCellType)
使用例 

サブエディタを取得または設定します。
構文
'宣言
 
Public Overrides Property SubEditor As ISubEditor
public override ISubEditor SubEditor {get; set;}

プロパティ値

サブエディタを含むISubEditorオブジェクト
使用例
次のサンプルコードは、セル型に関する次のプロパティを設定します。編集コントロールによる矢印キーの処理方法、表示する背景画像、テキストが長すぎてセルに収まらない場合に省略記号を表示するかどうか、編集モード時にユーザーがセルをダブルクリックしたときに表示するサブエディタ、テキストの向き、テキストが長すぎてセルに収まらない場合にテキストを折り返すかどうか。
public class se : 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 se()
   {
      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);
   }
}

FarPoint.Win.Spread.CellType.EditBaseCellType ed = new FarPoint.Win.Spread.CellType.EditBaseCellType();
fpSpread1.ActiveSheet.Cells[0, 0].Text = "I am an EditBaseCellType";
ed.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None;
ed.BackgroundImage = new FarPoint.Win.Picture(Image.FromFile(Application.StartupPath + "\\Trffc14.ico"));
ed.StringTrim = StringTrimming.EllipsisCharacter;
ed.SubEditor = new se();
ed.TextOrientation = FarPoint.Win.TextOrientation.TextHorizontal;
ed.WordWrap = false;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = ed;
Public Class se
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

Dim ed As New FarPoint.Win.Spread.CellType.EditBaseCellType()
FpSpread1.ActiveSheet.Cells(0, 0).Text = "I am an EditBaseCellType"
ed.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None
ed.BackgroundImage = New FarPoint.Win.Picture(Image.FromFile(Application.StartupPath & "\Trffc14.ico"))
ed.StringTrim = StringTrimming.EllipsisCharacter
ed.SubEditor = New se()
ed.TextOrientation = FarPoint.Win.TextOrientation.TextHorizontal
ed.WordWrap = False
FpSpread1.ActiveSheet.Cells(0, 0).CellType = ed
参照

EditBaseCellType クラス
EditBaseCellType メンバ

 

 


© MESCIUS inc. All rights reserved.