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 笔数据。
此属性在以下情况下将引发异常。
释放 RealTimeStylus 对象。
对使用 RealTimeStylus() 构造函数创建的 RealTimeStylus 对象设置此属性。
备注
在某些消息处理程序内使用时,设置或获取此属性可造成可重入调用,并导致意外结果。在处理以下任一消息时,请注意避免可重入调用:WM_ACTIVATE、WM_ACTIVATEAPP、WM_NCACTIVATE、WM_PAINT;WM_SYSCOMMAND(如果 wParam 设置为 SC_HOTKEY 或 SC_TASKLIST);以及 WM_SYSKEYDOWN(处理 Alt-Tab 或 Alt-Esc 组合键时)。这是单线程单元模型应用程序的问题。
示例
此 Microsoft Visual C# .NET 示例是窗体的 Load 事件处理程序中的代码段,它创建一个 GestureRecognizer、DynamicRenderer 和两个 RealTimeStylus 对象,在级联的 RealTimeStylus 模型中附加对象,并通过 RealTimeStylus 对象启用动态呈现、笔势识别和 Tablet 笔数据收集。GestureRecognizer 对象设置为可识别单笔画笔势,并且仅识别 ApplicationGesture、ApplicationGesture 和 ApplicationGesture应用程序笔势。主 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