RealTimeStylus.GetTabletContextIdFromTablet 方法

返回与给定的 Tablet 对象关联的 Tablet 上下文标识符。

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

语法

声明
Public Function GetTabletContextIdFromTablet ( _
    tablet As Tablet _
) As Integer
用法
Dim instance As RealTimeStylus
Dim tablet As Tablet
Dim returnValue As Integer

returnValue = instance.GetTabletContextIdFromTablet(tablet)
public int GetTabletContextIdFromTablet(
    Tablet tablet
)
public:
int GetTabletContextIdFromTablet(
    Tablet^ tablet
)
public int GetTabletContextIdFromTablet(
    Tablet tablet
)
public function GetTabletContextIdFromTablet(
    tablet : Tablet
) : int

参数

返回值

类型:System.Int32
与给定的 Tablet 对象关联的 Tablet 上下文标识符。

备注

备注

Tablet 上下文标识符特定于 RealTimeStylus 对象,但是两个 RealTimeStylus 对象可能对同一个 Tablet 对象具有不同的上下文标识符。并且,仅当启用 RealTimeStylus 对象时 Tablet 上下文标识符才有效。如果先禁用然后重新启用 RealTimeStylus 对象,则每个 Tablet 对象的 Tablet 上下文标识符的值可能与第一次启用 RealTimeStylus 对象时不同。

如果禁用或释放 RealTimeStylus,或者如果 tablet 参数为 null(在 Visual Basic 中为 Nothing),则此方法将引发异常。

备注

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

示例

此 C# 示例是 IStylusAsyncPlugin 接口的 TabletAdded 方法实现中的代码段。实现 IStylusAsyncPlugin 接口的窗体包含一个 TextBox 对象 theTextBox。TabletAdded 方法显示有关所添加的 Tablet 的信息,调用 GetTabletContextIdFromTablet 方法以获取 Tablet 的上下文标识符,并调用 GetTabletPropertyDescriptionCollection 方法以获取 Tablet 支持的数据包属性的列表。

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;

// ...

// Called when a tablet is added while the RealTimeStylus is enabled.
public void TabletAdded(RealTimeStylus sender, TabletAddedData data)
{
    // Display information about the tablet that was added.
    int theContextId =
        this.thePrimaryRealTimeStylus.GetTabletContextIdFromTablet(data.Tablet);

    this.theTextBox.Text = string.Format(
        "Tablet added, Name = {0}, ContextId={1}, available packet properties:"
        + Environment.NewLine, data.Tablet.Name, theContextId);

    TabletPropertyDescriptionCollection theTabletProperties =
        this.thePrimaryRealTimeStylus.GetTabletPropertyDescriptionCollection(theContextId);

    foreach(TabletPropertyDescription theTabletPropertyDescription in theTabletProperties)
    {
        // ...
    }
}

平台

Windows Vista, Windows XP SP2, Windows Server 2003

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

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

RealTimeStylus 类

RealTimeStylus 成员

Microsoft.StylusInput 命名空间

Stylus.TabletContextId

RealTimeStylus.GetTabletFromTabletContextId