作成日: 2018/07/27 最終更新日: 2018/07/27
文書種別
使用方法
詳細
SPREADの一部分だけをズームする機能は備えられておりませんが、代替策として、セルのカメラシェイプの機能を使って独自にセルの画像を取得して拡大表示することが可能です。
下記のサンプルはF1キーにカメラシェイプの表示を割り当てたサンプルコードです。
◎サンプルコード(VB)
◎サンプルコード(C#)
下記のサンプルはF1キーにカメラシェイプの表示を割り当てたサンプルコードです。
◎サンプルコード(VB)
Private zoomShape As New FarPoint.Win.Spread.DrawingSpace.SpreadCameraShape()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの設定
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' 拡大表示用カメラシェイプの設定
zoomShape.Formula = "A1"
zoomShape.Locked = True
zoomShape.Visible = False
FpSpread1.ActiveSheet.AddShape(zoomShape)
End Sub
Private Sub FpSpread1_KeyDown(sender As Object, e As KeyEventArgs) Handles FpSpread1.KeyDown
If e.KeyCode = Keys.F1 Then
' 既定の動作のキャンセル
e.SuppressKeyPress = True
If e.Control Then
' Ctrl + F1 でカメラシェイプの非表示
zoomShape.Visible = False
Else
' 拡大表示用カメラシェイプを表示
Dim row As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
Dim pos As String = FpSpread1.ActiveSheet.Cells(row, col).ToString()
Dim rect As Rectangle = FpSpread1.GetCellRectangle(0, 0, row, col)
zoomShape.Formula = pos.Replace("$", "")
zoomShape.Location = FpSpread1.ActiveSheet.DrawingContainer.AdjustPointForViewport(rect.Location)
zoomShape.Height = rect.Height * 2
zoomShape.Width = rect.Width * 2
zoomShape.Visible = True
End If
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの設定
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' 拡大表示用カメラシェイプの設定
zoomShape.Formula = "A1"
zoomShape.Locked = True
zoomShape.Visible = False
FpSpread1.ActiveSheet.AddShape(zoomShape)
End Sub
Private Sub FpSpread1_KeyDown(sender As Object, e As KeyEventArgs) Handles FpSpread1.KeyDown
If e.KeyCode = Keys.F1 Then
' 既定の動作のキャンセル
e.SuppressKeyPress = True
If e.Control Then
' Ctrl + F1 でカメラシェイプの非表示
zoomShape.Visible = False
Else
' 拡大表示用カメラシェイプを表示
Dim row As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
Dim pos As String = FpSpread1.ActiveSheet.Cells(row, col).ToString()
Dim rect As Rectangle = FpSpread1.GetCellRectangle(0, 0, row, col)
zoomShape.Formula = pos.Replace("$", "")
zoomShape.Location = FpSpread1.ActiveSheet.DrawingContainer.AdjustPointForViewport(rect.Location)
zoomShape.Height = rect.Height * 2
zoomShape.Width = rect.Width * 2
zoomShape.Visible = True
End If
End If
End Sub
◎サンプルコード(C#)
FarPoint.Win.Spread.DrawingSpace.SpreadCameraShape zoomShape = new FarPoint.Win.Spread.DrawingSpace.SpreadCameraShape();
public Form1()
{
InitializeComponent();
fpSpread1.KeyDown += new KeyEventHandler(FpSpread1_KeyDown);
}
private void Form1_Load(object sender, EventArgs e)
{
// データの設定
for (var i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (var j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j));
}
}
// 拡大表示用カメラシェイプの設定
zoomShape.Formula = "A1";
zoomShape.Locked = true;
zoomShape.Visible = false;
fpSpread1.ActiveSheet.AddShape(zoomShape);
}
private void FpSpread1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F1)
{
// 既定の動作のキャンセル
e.SuppressKeyPress = true;
if (e.Control)
{
// Ctrl + F1 でカメラシェイプを非表示
zoomShape.Visible = false;
}
else
{
// 拡大表示用カメラシェイプを表示
int row = fpSpread1.ActiveSheet.ActiveRowIndex;
int col = fpSpread1.ActiveSheet.ActiveColumnIndex;
string pos = fpSpread1.ActiveSheet.Cells[row, col].ToString();
Rectangle rect = fpSpread1.GetCellRectangle(0, 0, row, col);
zoomShape.Formula = pos.Replace("$", "");
zoomShape.Location = fpSpread1.ActiveSheet.DrawingContainer.AdjustPointForViewport(rect.Location);
zoomShape.Height = rect.Height * 2;
zoomShape.Width = rect.Width * 2;
zoomShape.Visible = true;
}
}
}
public Form1()
{
InitializeComponent();
fpSpread1.KeyDown += new KeyEventHandler(FpSpread1_KeyDown);
}
private void Form1_Load(object sender, EventArgs e)
{
// データの設定
for (var i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (var j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j));
}
}
// 拡大表示用カメラシェイプの設定
zoomShape.Formula = "A1";
zoomShape.Locked = true;
zoomShape.Visible = false;
fpSpread1.ActiveSheet.AddShape(zoomShape);
}
private void FpSpread1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F1)
{
// 既定の動作のキャンセル
e.SuppressKeyPress = true;
if (e.Control)
{
// Ctrl + F1 でカメラシェイプを非表示
zoomShape.Visible = false;
}
else
{
// 拡大表示用カメラシェイプを表示
int row = fpSpread1.ActiveSheet.ActiveRowIndex;
int col = fpSpread1.ActiveSheet.ActiveColumnIndex;
string pos = fpSpread1.ActiveSheet.Cells[row, col].ToString();
Rectangle rect = fpSpread1.GetCellRectangle(0, 0, row, col);
zoomShape.Formula = pos.Replace("$", "");
zoomShape.Location = fpSpread1.ActiveSheet.DrawingContainer.AdjustPointForViewport(rect.Location);
zoomShape.Height = rect.Height * 2;
zoomShape.Width = rect.Width * 2;
zoomShape.Visible = true;
}
}
}
旧文書番号
83088