0
点赞
收藏
分享

微信扫一扫

WPF 用到的触摸的 COM 接口

艾米吖 2022-02-11 阅读 54


本文记录 WPF 用到的触摸的 COM 接口

消息

用到了 ​​WM_TABLET_ADDED​​​ 和 ​​WM_TABLET_DELETED​​ 消息

使用的代码是 ​​src\Microsoft.DotNet.Wpf\src\PresentationCore\System\Windows\Input\Stylus\Wisp\WispLogic.cs​​ 的 HandleMessage 方法



internal override void HandleMessage(WindowMessage msg, IntPtr wParam, IntPtr lParam)
{
switch (msg)
{
// 忽略代码
case WindowMessage.WM_TABLET_ADDED:
OnTabletAdded((uint)NativeMethods.IntPtrToInt32(wParam));
break;

case WindowMessage.WM_TABLET_DELETED:
OnTabletRemovedImpl((uint)NativeMethods.IntPtrToInt32(wParam), isInternalCall: true);
break;
}
}


接口

包括:


  • ​​ITablet Interface​​
  • ​​ITablet2 Interface​​
  • ​​ITablet3 Interface​​
  • ​​ITabletContextP Interface​​
  • ​​ITabletCursor Interface​​
  • ​​ITabletCursorButton Interface​​
  • ​​ITabletEventSink Interface​​
  • ​​ITabletManager Interface​​

基本引用代码在 ​​src\Microsoft.DotNet.Wpf\src\PenImc\inc\tpcpen.h​​ 文件,这是 WPF 的 PenImc 层

对此的封装是 ​​src\Microsoft.DotNet.Wpf\src\PenImc\dll\PimcTablet.cpp​​​ 和 ​​src\Microsoft.DotNet.Wpf\src\PenImc\dll\PimcManager.cpp​​ 文件,封装依然作为 COM 方式提供

在框架顶层,在 ​​src\Microsoft.DotNet.Wpf\src\PresentationCore\System\Windows\Input\Stylus\Wisp\PenImcRcw.cs​​ 文件通过 COM 方法拿到

请看官方文档 ​​COM API Used by Windows Presentation Foundation - Win32 apps​​

我搭建了自己的博客 ​​https://blog.lindexi.com/​​ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

​​

本作品采用​​知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议​​进行许可。欢迎转载、使用、重新发布,但务必保留文章署名​​林德熙​​不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。


举报

相关推荐

0 条评论