Freigeben über


RecognizerContext.Guide-Eigenschaft

Ruft das RecognizerGuide-Objekt ab, das für Freihandeingaben verwendet werden soll, oder legt dieses fest.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Property Guide As RecognizerGuide
'Usage
Dim instance As RecognizerContext
Dim value As RecognizerGuide

value = instance.Guide

instance.Guide = value
public RecognizerGuide Guide { get; set; }
public:
property RecognizerGuide Guide {
    RecognizerGuide get ();
    void set (RecognizerGuide value);
}
/** @property */
public RecognizerGuide get_Guide()
/** @property */
public  void set_Guide(RecognizerGuide value)
public function get Guide () : RecognizerGuide
public function set Guide (value : RecognizerGuide)

Eigenschaftenwert

Typ: Microsoft.Ink.RecognizerGuide
Das RecognizerGuide-Objekt, das für Freihandeingaben verwendet werden soll.

Hinweise

Die Guide-Eigenschaft lässt sich nur festlegen, wenn die Strokes-Eigenschaft den Wert nullNULL-Verweis (Nothing in Visual Basic) hat. Sie müssen die Guide-Eigenschaft festlegen, bevor Sie eine Strokes-Auflistung der Strokes-Eigenschaft des RecognizerContext-Objekts anfügen, oder Sie müssen die Strokes-Eigenschaft auf nullNULL-Verweis (Nothing in Visual Basic) festlegen und dann die Guide-Eigenschaft festlegen.

Hinweis

Wenn Sie die letztere Methode verwenden, müssen Sie die Strokes-Auflistung möglicherweise erneut an die Strokes-Eigenschaft des RecognizerContext-Objekts anfügen.

Die RecognizerCapabilities-Enumeration enthält die Flags FreeInput, LinedInput und BoxedInput. Diese Flags geben die Fähigkeiten eines Erkennungsmoduls an. Weil diese Flags schreibgeschützt sind, ist es nicht möglich, sie direkt bei einem Recognizer-Objekt oder RecognizerContext-Objekt festzulegen. Die einzige Möglichkeit, ein Erkennungsmodul auf einen bestimmten Modus festzulegen, besteht darin, mithilfe der Guide-Eigenschaft eine Freihandführung festzulegen.

Wenn Sie die Guide-Eigenschaft nicht festlegen, wird als Standardwert der FreeInput-Modus verwendet, wobei vorausgesetzt, dass das Erkennungsmodul diesen Modus unterstützt.

In der folgenden Tabelle werden potenzielle Eingabemodi und die Werte aufgelistet, auf die die Columns-Eigenschaft und die Rows-Eigenschaft für die einzelnen Modi festgelegt werden sollen.

Für diesen Typ von Eingabe

Legen Sie die Rows-Eigenschaft wie folgt fest:

Legen Sie außerdem die Columns-Eigenschaft wie folgt fest:

Freie Eingabe

0

0

Eingabe auf vertikalen Zeilen mit 1 Zeile

0

1

Eingabe auf vertikalen Zeilen mit n Zeilen

0

n

Eingabe auf horizontalen Zeilen mit 1 Zeile

1

0

Eingabe auf horizontalen Zeilen mit n Zeilen

n

0

Eingabe in Feldern mit 1 Feld

1

1

Eingabe in Feldern mit n Feldern

n

1

Eingabe in ein Feldraster mit x Zeilen und z Spalten

x

z

Wenn ein Modus festgelegt wird, der für ein Recognizer-Objekt verfügbar ist, dann wird eine ArgumentException-Ausnahme ausgelöst.

Zum Abfragen der Fähigkeiten bzw. Modi, die für ein bestimmtes Erkennungsmodul verfügbar sind, verwenden Sie die Capabilities-Eigenschaft des Recognizer-Objekts. Unter Windows Vista unterstützen Erkennungsmodule für lateinische Schrift freie Eingaben, Eingaben in Feldern sowie Eingaben auf horizontalen Zeilen. Erkennungsmodule für ostasiatischer Zeichen unterstützen freie Eingaben und Eingaben in Feldern, und die Stiftbewegungserkennung unterstützt nur freie Eingaben.

Beispiele

In diesem Beispiel wird ein RecognizerContext-Objekt instanziiert und die Guide-Eigenschaft zugewiesen.

' create a new RecognizerContext object
mRecognizerContext = New RecognizerContext()
' if the Recognizer supports LinedInput, set the Guide
If (mRecognizerContext.Recognizer.Capabilities And RecognizerCapabilities.LinedInput) <> 0 Then
    ' get the lower right corner in pixel units
    Dim lowerRight As Point = New Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height)
    ' convert to ink space units
    mInkOverlay.Renderer.PixelToInkSpace(Me.CreateGraphics(), lowerRight)
    ' create Rectangles
    Dim writingBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
    Dim drawnBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
    ' shrink drawn box relative to writing box
    drawnBox.Inflate(-100, -100)
    ' create Guide with 8 rows, zero columns, and no midline
    Dim guide As RecognizerGuide = New RecognizerGuide(8, 0, 0, writingBox, drawnBox)
    mRecognizerContext.Guide = guide
End If
// create a new RecognizerContext object
mRecognizerContext = new RecognizerContext();
// if the Recognizer supports LinedInput, set the Guide
if ((mRecognizerContext.Recognizer.Capabilities & RecognizerCapabilities.LinedInput) != 0)
{
    // get the lower right corner in pixel units
    Point lowerRight = new Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height);
    // convert to ink space units
    mInkOverlay.Renderer.PixelToInkSpace(this.CreateGraphics(), ref lowerRight);
    // create Rectangles
    Rectangle writingBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
    Rectangle drawnBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
    // shrink drawn box relative to writing box
    drawnBox.Inflate(-100, -100);
    // create Guide with 8 rows, zero columns, and no midline
    RecognizerGuide guide = new RecognizerGuide(8, 0, 0, writingBox, drawnBox);
    mRecognizerContext.Guide = guide;
}

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

RecognizerContext-Klasse

RecognizerContext-Member

Microsoft.Ink-Namespace

RecognizerContext

RecognizerGuide

Recognizer

RecognizerCapabilities

Recognizer.Capabilities

RecognizerContext.Strokes

RecognizerGuide.Columns

RecognizerGuide.Rows