RealTimeStylus.WindowInputRectangle-Eigenschaft
Ruft das Eingaberechteck für das RealTimeStylus-Objekt ab oder legt das Eingaberechteck fest.
Namespace: Microsoft.StylusInput
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Property WindowInputRectangle As Rectangle
'Usage
Dim instance As RealTimeStylus
Dim value As Rectangle
value = instance.WindowInputRectangle
instance.WindowInputRectangle = value
public Rectangle WindowInputRectangle { get; set; }
public:
property Rectangle WindowInputRectangle {
Rectangle get ();
void set (Rectangle value);
}
/** @property */
public Rectangle get_WindowInputRectangle()
/** @property */
public void set_WindowInputRectangle(Rectangle value)
public function get WindowInputRectangle () : Rectangle
public function set WindowInputRectangle (value : Rectangle)
Eigenschaftenwert
Typ: System.Drawing.Rectangle
Das Eingaberechteck für das RealTimeStylus-Objekt in Pixeln.
Wert |
Bedeutung |
---|---|
(0, 0, 0, 0) |
Den Fenstergrenzen wird das Eingaberechteck zugeordnet. |
System.Drawing.Rectangle |
Das Eingaberechteck wird dem Rectangle-Objekt zugeordnet. |
Hinweise
Der Eingabebereich ist die Schnittmenge der Fenstergrenze und des Werts dieser Eigenschaft. Wird diese Eigenschaft auf ein leeres Rechteck festgelegt, erfasst das RealTimeStylus-Objekt das gesamte Fenster sogar dann, wenn die Größe des Fensters geändert wurde.
Nachdem das RealTimeStylus-Objekt mit dem Erfassen der Tablettstiftdaten begonnen hat, fährt es mit dem Erfassen der Daten fort, bis der Tablettstift abgehoben wird. Das ist auch dann der Fall, wenn der Tablettstift aus dem Eingabebereich verschoben wird. Sie können die außerhalb des Eingabebereichs erfassten Tablettstiftdaten in einem angefügten IStylusSyncPlugin-Objekt oder dem angefügten IStylusAsyncPlugin-Objekt unterschiedlich behandeln.
Diese Eigenschaft löst unter den folgenden Bedingungen eine Ausnahme aus.
Das RealTimeStylus-Objekt ist freigegeben.
Diese Eigenschaft wird auf ein RealTimeStylus-Objekt festgelegt, das mithilfe des RealTimeStylus()-Konstruktors erstellt wurde.
Hinweis
Durch Festlegen oder Abrufen der Eigenschaft kann in bestimmten Meldungshandlern ein wieder eintretender Aufruf verursacht werden, was zu unerwarteten Ergebnissen führen kann. Vermeiden Sie unbedingt den wieder eintretenden Aufruf, wenn Sie eine der folgenden Meldungen behandeln: WM_ACTIVATE, WM_ACTIVATEAPP, WM_NCACTIVATE, WM_PAINT sowie WM_SYSCOMMAND, wenn wParam auf SC_HOTKEY oder SC_TASKLIST festgelegt ist, und WM_SYSKEYDOWN (wenn die Tastenkombinationen ALT+TAB oder ALT+ESC verarbeitet werden). Dieses Problem tritt bei Anwendungen des Singlethread-Apartment-Modells auf.
Beispiele
Dieses Microsoft Visual C# .NET-Beispiel ist ein Ausschnitt aus dem Load-Ereignishandler eines Formulars. In ihm werden ein GestureRecognizer-Objekt, ein DynamicRenderer-Objekt und zwei RealTimeStylus-Objekte erstellt. Die Objekte werden in einem kaskadierenden RealTimeStylus-Modell angefügt, und über das RealTimeStylus-Objekt werden dynamisches Rendering, dynamische Stiftbewegungserkennung und dynamische Tablettstiftdatenerfassung aktiviert. Das GestureRecognizer-Objekt wird so festgelegt, dass Stiftbewegungen in einem einzelnen Strich und nur die ApplicationGesture, ApplicationGesture, und ApplicationGesture Anwendungsstiftbewegung erkannt werden. Die WindowInputRectangle-Eigenschaft des primären RealTimeStylus-Objekts ist explizit auf die Verwendung des gesamten Steuerelements festgelegt, an das das RealTimeStylus-Objekt angefügt ist. Das Formular selbst implementiert die IStylusAsyncPlugin-Schnittstelle, und es wird an das RealTimeStylus-Objekt angefügt.
using Microsoft.Ink;
using Microsoft.StylusInput;
using Microsoft.StylusInput.PluginData;
// ...
// The panel where the tablet pen data is collected.
private System.Windows.Forms.Panel thePanel;
// Declare the RealTimeStylus objects, the GestureRecognizer plugin,
// and the DynamicRenderer plug-in.
private Microsoft.StylusInput.RealTimeStylus thePrimaryRealTimeStylus = null;
private Microsoft.StylusInput.RealTimeStylus theSecondaryRealTimeStylus = null;
private Microsoft.StylusInput.GestureRecognizer theGestureRecognizer = null;
private Microsoft.StylusInput.DynamicRenderer theDynamicRenderer = null;
// The form's Load event handler.
private void theForm_Load(object sender, System.EventArgs e)
{
// ...
// Create a DynamicRenderer attached to the drawing area ,
// and enable dynamic rendering.
this.theDynamicRenderer = new DynamicRenderer(this.thePanel);
this.theDynamicRenderer.Enabled = true;
// Create a GestureRecognizer, and set it to recognize single-stroke gestures.
this.theGestureRecognizer = new GestureRecognizer();
this.theGestureRecognizer.MaxStrokeCount = 1;
// Allow gesture recognition for specific gestures.
this.theGestureRecognizer.EnableGestures( new ApplicationGesture[]
{
ApplicationGesture.Right,
ApplicationGesture.ChevronRight,
ApplicationGesture.ArrowRight
} );
// Enable gesture recognition.
this.theGestureRecognizer.Enabled = true;
// Create the primary and secondary RealTimeStylus objects.
this.thePrimaryRealTimeStylus = new RealTimeStylus(this.thePanel);
this.theSecondaryRealTimeStylus = new RealTimeStylus();
// Add the secondary RealTimeStylus to the primary's asynchronous plug-in collection.
this.thePrimaryRealTimeStylus.AsyncPluginCollection.Add(
this.theSecondaryRealTimeStylus);
// Add the dynamic renderer to the primary's synchronous plug-in collection.
this.thePrimaryRealTimeStylus.SyncPluginCollection.Add(this.theDynamicRenderer);
// Add the gesture recognizer to the secondary's synchronous plug-in collection.
this.theSecondaryRealTimeStylus.SyncPluginCollection.Add(this.theGestureRecognizer);
// Add the form to the secondary's asynchronous plug-in colleciton.
this.theSecondaryRealTimeStylus.AsyncPluginCollection.Add(this);
// Set the input rectangle to the entire panel for the RealTimeStylus.
this.thePrimaryRealTimeStylus.WindowInputRectangle = new Rectangle(0,0,0,0);
// Enable the RealTimeStylus, which allows notifications to flow to the plug-ins.
this.thePrimaryRealTimeStylus.Enabled = true;
// ...
}
Plattformen
Windows Vista, Windows XP SP2, Windows Server 2003
.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