PowerTools SPREAD for Windows Forms 10.0J
フォーカスインジケータ

ユーザーはフォーカス長方形によって、選択範囲およびアクティブセルを識別できます。デフォルトでは、選択されたセルの周囲には、下図に示すように実線のフォーカス長方形が表示されます。列(または行)全体が選択された場合は、この列(または行)内の先頭セルにフォーカス長方形が表示され、この列(または行)は強調表示されます(下図参照)。アクティブセルに対応する列ヘッダおよび行ヘッダにも、異なる背景色が表示されます。

単一セル

列選択

   選択された単一セルに対するフォーカスインジケータ    選択された列に対するフォーカスインジケータ

アクティブセルのフォーカスインジケータをカスタマイズするには、FpSpreadクラスのFocusRendererプロパティ(IFocusIndicatorRendererインタフェースを使用)を使用します。アニメーションインジケータを使用するには、IAnimatedFocusIndicatorRendererインタフェースが必要です。アクティブセルのヘッダに設定される背景色を変更することもできます。

次の表は、フォーカスインジケータの種類と、それぞれに対応するクラスの一覧を示します。

種類 クラス
デフォルト DefaultFocusIndicatorRenderer
アニメーション AnimatedDefaultFocusIndicatorRenderer
カスタムライン CustomFocusIndicatorRenderer
編集中 EditingFocusIndicatorRenderer
拡張 EnhancedFocusIndicatorRenderer
イメージ ImageFocusIndicatorRenderer
マーキーライン MarqueeFocusIndicatorRenderer
実線 SolidFocusIndicatorRenderer

DefaultFocusIndicatorRendererクラスは、他のクラスの基本クラスです。ImageFocusIndicatorRendererクラスを使用すると、フォーカスインジケータとしてイメージを使用できます。SolidFocusIndicatorRendererクラスを使用すると、フォーカスインジケータとして選択セルの周囲に実線を表示するようにカスタマイズできます。

SPREADデザイナでは、フォーカスインジケータエディタを使用して、フォーカスインジケータをカスタマイズできます。SPREADデザイナの詳しい使用方法については、「SPREADデザイナガイド」、および「フォーカス インジケータ エディタ」を参照してください。

設定方法

カスタムフォーカスインジケータを作成するには、IFocusIndicatorRendererインタフェースを使用します。

サンプルコード

次のサンプルコードは、カスタムフォーカスインジケータを作成します。

C#
コードのコピー
private void Form1_Load(object sender, System.EventArgs e)
{
    fpSpread1.FocusRenderer = new MyIndicator();
}
// カスタムフォーカスインジケータを作成します。
public class MyIndicator : FarPoint.Win.Spread.IFocusIndicatorRenderer
{
    public void Paint(System.Drawing.Graphics g, int x, int y, int width, int height, bool left, bool top, bool right, bool bottom)
    {
        SolidBrush r = new SolidBrush(System.Drawing.Color.Red);
        SolidBrush b = new SolidBrush(System.Drawing.Color.Blue);
        SolidBrush gr = new SolidBrush(System.Drawing.Color.DarkGreen);
        g.FillRectangle(r, x, y, 1, height);
        g.FillRectangle(gr, x, y, width, 1);
        g.FillRectangle(r, x + width - 1, y, 1, height);
        g.FillRectangle(b, x, y + height - 1, width, 1);
    }
}
Visual Basic
コードのコピー
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FpSpread1.FocusRenderer = New MyIndicator()
End Sub
' カスタムフォーカスインジケータを作成します。
Public Class MyIndicator
    Implements FarPoint.Win.Spread.IFocusIndicatorRenderer
    Public Sub Paint(ByVal g As System.Drawing.Graphics, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal left As Boolean, ByVal top As Boolean, ByVal right As Boolean, ByVal bottom As Boolean) Implements FarPoint.Win.Spread.IFocusIndicatorRenderer.Paint
        Dim r As New SolidBrush(Color.Red)
        Dim b As New SolidBrush(Color.Blue)
        Dim gr As New SolidBrush(Color.DarkGreen)
        g.FillRectangle(r, x, y, 1, height)
        g.FillRectangle(gr, x, y, width, 1)
        g.FillRectangle(r, x + width - 1, y, 1, height)
        g.FillRectangle(b, x, y + height - 1, width, 1)
    End Sub
End Class

次のサンプルコードは、アクティブセルのヘッダの背景色を変更します。

アクティブセルのヘッダの背景色を設定するには、EnhancedColumnHeaderRenderer(またはEnhancedRowHeaderRenderer)クラスのSelectedBackgroundColorプロパティを使用します。

C#
コードのコピー
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer testing = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
testing.SelectedBackgroundColor = Color.MediumTurquoise;
FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer testing1 = new FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer();
testing1.SelectedBackgroundColor = Color.MediumTurquoise;
fpSpread1.Sheets[0].ColumnHeader.DefaultStyle.Renderer = testing;
fpSpread1.Sheets[0].RowHeader.DefaultStyle.Renderer = testing1;
Visual Basic
コードのコピー
Dim testing as New FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer
testing.SelectedBackgroundColor = Color.MediumTurquoise
Dim testing1 as New FarPoint.Win.Spread.CellType.EnhancedRowHeaderRenderer
testing1.SelectedBackgroundColor = Color.MediumTurquoise
FpSpread1.Sheets(0).ColumnHeader.DefaultStyle.Renderer = testing
FpSpread1.Sheets(0).RowHeader.DefaultStyle.Renderer = testing1

SPREAD デザイナの使用

  1. [スプレッド]メニューを選択します。
  2. [フォーカス インジケータ エディタ...]を選択します。
  3. ダイアログで必要な変更を行い、〈OK〉をクリックします。
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.