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