RealTimeStylus.SetDesiredPacketDescription 方法
设置 RealTimeStylus 对象在对 Tablet 上下文 收集的数据包 方面的需要。
命名空间: Microsoft.StylusInput
程序集: Microsoft.Ink(在 Microsoft.Ink.dll 中)
语法
声明
Public Sub SetDesiredPacketDescription ( _
value As Guid() _
)
用法
Dim instance As RealTimeStylus
Dim value As Guid()
instance.SetDesiredPacketDescription(value)
public void SetDesiredPacketDescription(
Guid[] value
)
public:
void SetDesiredPacketDescription(
array<Guid>^ value
)
public void SetDesiredPacketDescription(
Guid[] value
)
public function SetDesiredPacketDescription(
value : Guid[]
)
参数
- value
类型:array<System.Guid[]
RealTimeStylus 对象需要的数据包属性的全局唯一标识符 (GUID)。
备注
使用此方法可以设置 RealTimeStylus 对象对一组数据包属性的需要。数据包属性由 GUID 的数组表示。PacketProperty 对象定义标准数据包属性 GUID;但也可以使用其他 GUID。
当 RealTimeStylus 对象从 Tablet 对象收集墨迹时,RealTimeStylus 对象仅返回您设置为需要的数据包属性的数据包数据(由 GetDesiredPacketDescription 方法的返回值表示)以及正在对其收集墨迹的 Tablet 所支持的数据包属性的数据包数据。有关如何使用 RealTimeStylus 对象收集墨迹的更多信息,请参见Accessing and Manipulating Stylus Input。
仅当禁用 RealTimeStylus 对象时才可以调用 SetDesiredPacketDescription 方法。但是,对 SetDesiredPacketDescription 方法的调用会在 GetDesiredPacketDescription 方法的返回值中立即反映出来。
下面的列表描述 RealTimeStylus 对象如何排列数据包属性 GUID 的顺序。
GetDesiredPacketDescription 方法始终在数组的前两个位置返回 PacketProperty.X 和 PacketProperty.Y GUID,无论在以前对 SetDesiredPacketDescription 方法的调用中是否指定了它们。
如果在对 SetDesiredPacketDescription 方法的调用中指定了 PacketProperty.PacketStatus GUID,则 GetDesiredPacketDescription 方法将始终在数组中最后的位置返回 PacketProperty.PacketStatus GUID。
如果在对 SetDesiredPacketDescription 方法的调用中有任何 GUID 被多次指定,则每个 GUID 在 GetDesiredPacketDescription 方法返回的数组中仅出现一次。
默认情况下,GetDesiredPacketDescription 方法返回 PacketProperty.X、PacketProperty.Y 和 PacketProperty.NormalPressure GUID。
例如,如果使用 (a, b, a, PacketStatus, b, c, d) 调用 SetDesiredPacketDescription 方法,则对 GetDesiredPacketDescription 方法的调用将返回 (X, Y, a, b, c, d, PacketStatus)。
此方法在以下情况下将引发异常。
释放 RealTimeStylus 对象。
使用 RealTimeStylus() 构造函数创建了 RealTimeStylus 对象。
启用了 RealTimeStylus 对象。
value 参数为 nullnull 引用(在 Visual Basic 中为 Nothing)(在 Visual Basic .NET 中为 Nothing)或包含空数组。
示例
此 Microsoft Visual C# .NET 示例是菜单项的 Click 事件处理程序中的代码段。该菜单是定义了 TextBox 对象 theTextBox 的窗体的一部分。如果启用了 RealTimeStylus 对象,或者如果在窗体上未选中任何数据包属性 GUID,则事件处理程序将退出。否则,事件处理程序将调用 RealTimeStylus 对象的 SetDesiredPacketDescription 方法。
using Microsoft.Ink;
using Microsoft.StylusInput;
using Microsoft.StylusInput.PluginData;
// ...
// 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 SetDesiredPacketDescription menu item's Click event handler
private void theMenuItemSetDesiredPacketDescription_Click(object sender,
System.EventArgs e)
{
// Can not call this method while the RealTimeStylus is enabled.
if (this.thePrimaryRealTimeStylus.Enabled)
{
MessageBox.Show("The SetDesiredPacketDescription method of the RealTimeStylus can only be called while the RealTimeStylus is disabled.");
return;
}
// Create an array of GUIDs from the checked packet properties.
ArrayList result = new ArrayList();
// ...
// Can not pass an empty array to the SetDesiredPacketDescription method.
if (0 == result.Count)
{
this.theTextBox.Text = "No PacketProperty GUID's checked. The desired packet property's of the RealTimeStylus have not been changed.";
return;
}
// Set the desired packet properties.
Guid[] theGuids = (Guid[])result.ToArray(typeof(Guid));
this.thePrimaryRealTimeStylus.SetDesiredPacketDescription(theGuids);
this.theTextBox.Text = "The desired packet property's of the RealTimeStylus have been changed.";
}
平台
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0