作成日: 2019/07/22 最終更新日: 2019/07/22
文書種別
使用方法
詳細
SPREADのオートシェイプにはテキストチップを表示することはできません。
代替案としてツールチップを使用して独自に実装する方法を紹介します。
◎サンプルコード(VB)
◎サンプルコード(C#)
代替案としてツールチップを使用して独自に実装する方法を紹介します。
◎サンプルコード(VB)
Public Class Form1
Private shape1 As FarPoint.Win.Spread.DrawingSpace.RectangleShape
Private oldTime As DateTime
Private tt As New ToolTip()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' シェイプの設定
shape1 = New FarPoint.Win.Spread.DrawingSpace.RectangleShape()
shape1.Name = "shape1"
FpSpread1.ActiveSheet.AddShape(shape1, 2, 2)
End Sub
Private Sub FpSpread1_MouseMove(sender As Object, e As MouseEventArgs) Handles FpSpread1.MouseMove
' シェイプのツールチップの表示
If DateTime.Now.Subtract(oldTime).TotalMilliseconds > 1000 Then
Dim pos1 As Point = FpSpread1.ActiveSheet.DrawingContainer.AdjustPointFromViewport(shape1.Location)
Dim shapeRect As New Rectangle(pos1, shape1.Size)
If shapeRect.Contains(e.Location) Then
tt.Show(shape1.Name, FpSpread1, e.Location, 2000)
oldTime = DateTime.Now
End If
End If
End Sub
End Class
Private shape1 As FarPoint.Win.Spread.DrawingSpace.RectangleShape
Private oldTime As DateTime
Private tt As New ToolTip()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' シェイプの設定
shape1 = New FarPoint.Win.Spread.DrawingSpace.RectangleShape()
shape1.Name = "shape1"
FpSpread1.ActiveSheet.AddShape(shape1, 2, 2)
End Sub
Private Sub FpSpread1_MouseMove(sender As Object, e As MouseEventArgs) Handles FpSpread1.MouseMove
' シェイプのツールチップの表示
If DateTime.Now.Subtract(oldTime).TotalMilliseconds > 1000 Then
Dim pos1 As Point = FpSpread1.ActiveSheet.DrawingContainer.AdjustPointFromViewport(shape1.Location)
Dim shapeRect As New Rectangle(pos1, shape1.Size)
If shapeRect.Contains(e.Location) Then
tt.Show(shape1.Name, FpSpread1, e.Location, 2000)
oldTime = DateTime.Now
End If
End If
End Sub
End Class
◎サンプルコード(C#)
public partial class Form1 : Form
{
private FarPoint.Win.Spread.DrawingSpace.RectangleShape shape1;
private DateTime oldTime;
private ToolTip tt = new ToolTip();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// テキストチップの設定
fpSpread1.TextTipPolicy = FarPoint.Win.Spread.TextTipPolicy.Floating;
// シェイプの設定
shape1 = new FarPoint.Win.Spread.DrawingSpace.RectangleShape();
shape1.Name = "shape1";
fpSpread1.ActiveSheet.AddShape(shape1, 2, 2);
// イベントの設定
fpSpread1.TextTipFetch += fpSpread1_TextTipFetch;
fpSpread1.MouseMove += fpSpread1_MouseMove;
}
void fpSpread1_TextTipFetch(object sender, FarPoint.Win.Spread.TextTipFetchEventArgs e)
{
if (e.Row == 0 && e.Column == 0)
{
e.TipText = "test";
e.ShowTip = true;
}
}
void fpSpread1_MouseMove(object sender, MouseEventArgs e)
{
// シェイプのツールチップの表示
if (DateTime.Now.Subtract(oldTime).TotalMilliseconds > 1000)
{
Point pos1 = fpSpread1.ActiveSheet.DrawingContainer.AdjustPointFromViewport(shape1.Location);
Rectangle shapeRect = new Rectangle(pos1, shape1.Size);
if (shapeRect.Contains(e.Location))
{
tt.Show(shape1.Name, fpSpread1, pos1, 2000);
oldTime = DateTime.Now;
}
}
}
}
{
private FarPoint.Win.Spread.DrawingSpace.RectangleShape shape1;
private DateTime oldTime;
private ToolTip tt = new ToolTip();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// テキストチップの設定
fpSpread1.TextTipPolicy = FarPoint.Win.Spread.TextTipPolicy.Floating;
// シェイプの設定
shape1 = new FarPoint.Win.Spread.DrawingSpace.RectangleShape();
shape1.Name = "shape1";
fpSpread1.ActiveSheet.AddShape(shape1, 2, 2);
// イベントの設定
fpSpread1.TextTipFetch += fpSpread1_TextTipFetch;
fpSpread1.MouseMove += fpSpread1_MouseMove;
}
void fpSpread1_TextTipFetch(object sender, FarPoint.Win.Spread.TextTipFetchEventArgs e)
{
if (e.Row == 0 && e.Column == 0)
{
e.TipText = "test";
e.ShowTip = true;
}
}
void fpSpread1_MouseMove(object sender, MouseEventArgs e)
{
// シェイプのツールチップの表示
if (DateTime.Now.Subtract(oldTime).TotalMilliseconds > 1000)
{
Point pos1 = fpSpread1.ActiveSheet.DrawingContainer.AdjustPointFromViewport(shape1.Location);
Rectangle shapeRect = new Rectangle(pos1, shape1.Size);
if (shapeRect.Contains(e.Location))
{
tt.Show(shape1.Name, fpSpread1, pos1, 2000);
oldTime = DateTime.Now;
}
}
}
}
旧文書番号
84283