作成日: 2019/08/28 最終更新日: 2019/08/28
文書種別
使用方法
詳細
スライダー型セルの変更をEditChangeイベントでハンドリングして、設定値をシェイプの大きさに反映させることでスライダー操作での拡大縮小が可能です。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Imports FarPoint.Win.Spread
Imports FarPoint.Win.Spread.CellType
Imports FarPoint.Win.Spread.DrawingSpace
Public Class Form1
Private cameraShape As New SpreadCameraShape()
Private Const shapeWidth As Integer = 219
Private Const shapeHeight As Integer = 108
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' カメラシェイプの設定
FpSpread1.Sheets(0).Cells(1, 3).Text = "Test"
Dim a As New TriangleShape
a.BackColor = Color.Blue
FpSpread1.ActiveSheet.AddShape(a, 1, 1)
cameraShape.Formula = "B1:D6"
cameraShape.Location = New Point(20, 20)
cameraShape.Locked = True
FpSpread1.Sheets(0).AddShape(cameraShape)
cameraShape.Width = shapeWidth
cameraShape.Height = shapeHeight
' スライダー型セルの設定
Dim slider As New SliderCellType()
slider.ChangeOnFocus = True
slider.KnobColor = Color.Red
slider.KnobWidth = 10
slider.Maximum = 200
slider.Minimum = 0
slider.Orientation = FarPoint.Win.SliderOrientation.Horizontal
slider.TickColor = Color.DarkBlue
slider.TickLength = 5
slider.TickSpacing = 20
slider.TrackColor = Color.Green
slider.TrackWidth = 10
FpSpread1.ActiveSheet.Cells(0, 4).CellType = slider
End Sub
Private Sub FpSpread1_EditChange(sender As Object, e As EditorNotifyEventArgs) Handles FpSpread1.EditChange
' スライダー型セルの値に合わせてシェイプの大きさを変更する
If e.Row = 0 AndAlso e.Column = 4 Then
Dim sliderValue As Integer = FpSpread1.ActiveSheet.Cells(e.Row, e.Column).Value
cameraShape.Width = shapeWidth + sliderValue
cameraShape.Height = shapeHeight + sliderValue
End If
End Sub
End Class
Imports FarPoint.Win.Spread.CellType
Imports FarPoint.Win.Spread.DrawingSpace
Public Class Form1
Private cameraShape As New SpreadCameraShape()
Private Const shapeWidth As Integer = 219
Private Const shapeHeight As Integer = 108
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' カメラシェイプの設定
FpSpread1.Sheets(0).Cells(1, 3).Text = "Test"
Dim a As New TriangleShape
a.BackColor = Color.Blue
FpSpread1.ActiveSheet.AddShape(a, 1, 1)
cameraShape.Formula = "B1:D6"
cameraShape.Location = New Point(20, 20)
cameraShape.Locked = True
FpSpread1.Sheets(0).AddShape(cameraShape)
cameraShape.Width = shapeWidth
cameraShape.Height = shapeHeight
' スライダー型セルの設定
Dim slider As New SliderCellType()
slider.ChangeOnFocus = True
slider.KnobColor = Color.Red
slider.KnobWidth = 10
slider.Maximum = 200
slider.Minimum = 0
slider.Orientation = FarPoint.Win.SliderOrientation.Horizontal
slider.TickColor = Color.DarkBlue
slider.TickLength = 5
slider.TickSpacing = 20
slider.TrackColor = Color.Green
slider.TrackWidth = 10
FpSpread1.ActiveSheet.Cells(0, 4).CellType = slider
End Sub
Private Sub FpSpread1_EditChange(sender As Object, e As EditorNotifyEventArgs) Handles FpSpread1.EditChange
' スライダー型セルの値に合わせてシェイプの大きさを変更する
If e.Row = 0 AndAlso e.Column = 4 Then
Dim sliderValue As Integer = FpSpread1.ActiveSheet.Cells(e.Row, e.Column).Value
cameraShape.Width = shapeWidth + sliderValue
cameraShape.Height = shapeHeight + sliderValue
End If
End Sub
End Class
◎サンプルコード(C#)
using FarPoint.Win.Spread;
using FarPoint.Win.Spread.CellType;
using FarPoint.Win.Spread.DrawingSpace;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace sample
{
public partial class Form1 : Form
{
SpreadCameraShape cameraShape = new SpreadCameraShape();
int shapeWidth = 219;
int shapeHeight = 108;
public Form1()
{
InitializeComponent();
fpSpread1.EditChange += fpSpread1_EditChange;
}
private void Form1_Load(object sender, EventArgs e)
{
// カメラシェイプの設定
fpSpread1.Sheets[0].Cells[1, 3].Text = "Test";
TriangleShape a = new TriangleShape();
a.BackColor = Color.Blue;
fpSpread1.ActiveSheet.AddShape(a, 1, 1);
cameraShape.Formula = "B1:D6";
cameraShape.Location = new Point(20, 20);
fpSpread1.Sheets[0].AddShape(cameraShape);
cameraShape.Width = shapeWidth;
cameraShape.Height = shapeHeight;
// スライダー型セルの設定
SliderCellType slider = new SliderCellType();
slider.ChangeOnFocus = true;
slider.KnobColor = Color.Red;
slider.KnobWidth = 10;
slider.Maximum = 200;
slider.Minimum = 0;
slider.Orientation = FarPoint.Win.SliderOrientation.Horizontal;
slider.TickColor = Color.DarkBlue;
slider.TickLength = 5;
slider.TickSpacing = 20;
slider.TrackColor = Color.Green;
slider.TrackWidth = 10;
fpSpread1.ActiveSheet.Cells[0, 4].CellType = slider;
}
private void fpSpread1_EditChange(object sender, EditorNotifyEventArgs e)
{
// スライダー型セルの値に合わせてシェイプの大きさを変更する
if (e.Row ==0 && e.Column == 4)
{
int sliderValue = (int)fpSpread1.ActiveSheet.Cells[e.Row, e.Column].Value;
cameraShape.Width = shapeWidth + sliderValue;
cameraShape.Height = shapeHeight + sliderValue;
}
}
}
}
using FarPoint.Win.Spread.CellType;
using FarPoint.Win.Spread.DrawingSpace;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace sample
{
public partial class Form1 : Form
{
SpreadCameraShape cameraShape = new SpreadCameraShape();
int shapeWidth = 219;
int shapeHeight = 108;
public Form1()
{
InitializeComponent();
fpSpread1.EditChange += fpSpread1_EditChange;
}
private void Form1_Load(object sender, EventArgs e)
{
// カメラシェイプの設定
fpSpread1.Sheets[0].Cells[1, 3].Text = "Test";
TriangleShape a = new TriangleShape();
a.BackColor = Color.Blue;
fpSpread1.ActiveSheet.AddShape(a, 1, 1);
cameraShape.Formula = "B1:D6";
cameraShape.Location = new Point(20, 20);
fpSpread1.Sheets[0].AddShape(cameraShape);
cameraShape.Width = shapeWidth;
cameraShape.Height = shapeHeight;
// スライダー型セルの設定
SliderCellType slider = new SliderCellType();
slider.ChangeOnFocus = true;
slider.KnobColor = Color.Red;
slider.KnobWidth = 10;
slider.Maximum = 200;
slider.Minimum = 0;
slider.Orientation = FarPoint.Win.SliderOrientation.Horizontal;
slider.TickColor = Color.DarkBlue;
slider.TickLength = 5;
slider.TickSpacing = 20;
slider.TrackColor = Color.Green;
slider.TrackWidth = 10;
fpSpread1.ActiveSheet.Cells[0, 4].CellType = slider;
}
private void fpSpread1_EditChange(object sender, EditorNotifyEventArgs e)
{
// スライダー型セルの値に合わせてシェイプの大きさを変更する
if (e.Row ==0 && e.Column == 4)
{
int sliderValue = (int)fpSpread1.ActiveSheet.Cells[e.Row, e.Column].Value;
cameraShape.Width = shapeWidth + sliderValue;
cameraShape.Height = shapeHeight + sliderValue;
}
}
}
}
旧文書番号
84414