RealTimeStylus.WindowInputRectangle 属性

获取或设置 RealTimeStylus 对象的输入矩形。

命名空间:  Microsoft.StylusInput
程序集:  Microsoft.Ink(在 Microsoft.Ink.dll 中)

语法

声明
Public Property WindowInputRectangle As Rectangle
用法
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)

属性值

类型:System.Drawing.Rectangle
RealTimeStylus 对象的输入矩形(以像素为单位)。

含义

(0, 0, 0, 0)

输入矩形映射到窗口边界。

System.Drawing.Rectangle

输入矩形映射到 Rectangle 对象。

备注

输入区域为窗口边界与此属性的值的交集。当此属性设置为空矩形时,RealTimeStylus 对象将在整个窗口上进行收集,即使窗口调整了大小也是如此。

一旦 RealTimeStylus 对象开始收集 Tablet 笔数据,在将手写笔拿开之前它将持续收集数据,即使手写笔移动到输入区域的外部也如此。您可以选择在附加的 IStylusSyncPlugin 对象或附加的 IStylusAsyncPlugin 对象中以不同方式处理从输入区域外部收集的 Tablet 笔数据。

此属性在以下情况下将引发异常。

备注

在某些消息处理程序内使用时,设置或获取此属性可造成可重入调用,并导致意外结果。在处理以下任一消息时,请注意避免可重入调用:WM_ACTIVATEWM_ACTIVATEAPPWM_NCACTIVATEWM_PAINTWM_SYSCOMMAND(如果 wParam 设置为 SC_HOTKEY 或 SC_TASKLIST);以及 WM_SYSKEYDOWN(处理 Alt-Tab 或 Alt-Esc 组合键时)。这是单线程单元模型应用程序的问题。

示例

此 Microsoft Visual C# .NET 示例是窗体的 Load 事件处理程序中的代码段,它创建一个 GestureRecognizerDynamicRenderer 和两个 RealTimeStylus 对象,在级联的 RealTimeStylus 模型中附加对象,并通过 RealTimeStylus 对象启用动态呈现、笔势识别和 Tablet 笔数据收集。GestureRecognizer 对象设置为可识别单笔画笔势,并且仅识别 ApplicationGestureApplicationGestureApplicationGesture应用程序笔势。主 RealTimeStylus 对象的 WindowInputRectangle 属性显式设置为使用 RealTimeStylus 对象附加到的整个控件。窗体本身实现 IStylusAsyncPlugin 接口,并附加到 RealTimeStylus 对象。

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;

    // ...
}

平台

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

RealTimeStylus 类

RealTimeStylus 成员

Microsoft.StylusInput 命名空间