笔记本有一小块区域有一些点击拖拽选择高亮区域

现在大多数的笔记本电脑都是用 Synaptics 嘚触摸板了所以找这个公司的驱动妥妥的。接下来的内容是拿 Synaptics 的 SDK v1.0 做的一个小程序C++ MFC 的(坑啊~)。功能嘛……将笔记本触摸板变成一块画圖区域虽然效果很挫,不过凑合还是可以用的

(基于的代码,使用VC6.0编译)

记得程序打开后手动点击“启动”否则不会独占你的触摸板。

呃你居然点开了这个文章,好吧笔记如下:

好吧这个叫法貌似是Java里的,不过无所谓了知道意思即可。


    

SynPacket把 ISynPacket 里面诸多蛋疼的东西搞得好看了一些以下为官方文档:

最基本的方法(继承自ISynPacket)

触摸物体的Width,胖手指用户要注意哈
貌似是计算Z值时使用的坐标。
和前一个Packet相差的距离
Synaptics内部使用的,没资料

实测时候会发现哪怕轻轻一摸,数据包的数量也是超大的所以可以考虑搞一个缓冲空间,就像官方example里给的这个PacketBuffer类:

这个坐标建系得就像某些游戏SDK(还有数学课本)一样以左下角为原点,直角坐标系而且原点貌似不是 (0,0),在我的电脑上是()具體可能和设备相关。

就像旋转屏幕一样会使你感觉很纠结。。此代码为官方示例代码:

这個会导致包括自身在内不能获取触摸板的点击的信息

执行此代码后目前程序仍然可以获取点击的信息但是其他程序无法获取,包括操作系统

至于为什么参数是0,这个是规定貌似目前还没有解释。

释放触摸板其他程序可以使用之。

据说这样好如果你没有搞其他的COM东西的话……

此外还有就是如果你屏蔽了触摸板,记得恢复哈~

MFC 可以 printf 但是它不会自动打开输出窗口这里囿一段代码很好用的,不妨试试

估计有人好奇为什么 Windows 7 了还使用老掉牙的 VC6,这里稍微说一下吧……

  • 本来要用 VC 2012 之类的高端版但是據说默认编译出来的程序不支持 XP 等老系统
  • 然后转战 VC 2010 ,但是不知道为什么打死安装不上……
  • 然后是同学推荐的 C-Free 这个嘛……MINGW32杀手,而且各种運行不了的奇葩问题
  • 要点来啦!课本都是 VC6 的说~

还有就是MFC,用起来感觉差不多啊(好吧貌似现在只有这个选择)虽然每一次面对MFC都有一種要撞墙的冲动。还有就是为什么MFC里方法第一个字母都是大写!接受不了啊。

此外就是这个程序了打算近期购入一个数位板烧钱玩玩,但是屌丝心态还是叫我仍然在这里写奇怪的东西YY 最后证明,笔记本触摸板真的不能代替数位板但是拿它来对付 OSU 里面的转盘,妥妥的!

我要回帖

更多关于 点击拖拽选择高亮区域 的文章

 

随机推荐