成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

Win7屏幕觸控API揭秘

Win7的酷炫功能 Win7有一些酷炫的功能是XP、Vista系統(tǒng)沒有的,例如窗口分組預(yù)覽、快速隱藏桌面圖標(biāo)、搖走其他窗口……這些酷炫的功能是怎么設(shè)計(jì)的?我們開發(fā)的個(gè)人軟件如何使用這些功能,給用戶帶

Win7的酷炫功能

Win7有一些酷炫的功能是XP、Vista系統(tǒng)沒有的,例如窗口分組預(yù)覽、快速隱藏桌面圖標(biāo)、搖走其他窗口……這些酷炫的功能是怎么設(shè)計(jì)的?我們開發(fā)的個(gè)人軟件如何使用這些功能,給用戶帶來驚喜?

雙指觸控功能

在《少數(shù)派報(bào)告》中阿湯哥直接用雙指在觸摸屏上操作程序,酷斃了。這種功能Win7也支持,只要有觸摸設(shè)備,我們也可以在Win7上用雙手玩轉(zhuǎn)電腦。雙指觸控如縮放、雙指放大、雙指翻頁等特效都可以在Win7中實(shí)現(xiàn)。

Win7常用的兩種觸控手勢

1. 縮放手勢

縮放手勢用于界面放大或縮小,在瀏覽圖片、文章閱讀等程序中常常會用到。雙指縮放的手勢如圖1所示:雙指并攏置于窗體中,一指向上滑動,一指向下滑動,這是放大,雙指分開置于窗體上,兩指向中間滑動,則是縮小。程序要識別出這個(gè)手勢,需要進(jìn)行以下步驟:
1. 得到手指點(diǎn)到屏幕的消息
2. 根據(jù)兩指的坐標(biāo)計(jì)算出距離
3. 根據(jù)定時(shí)器實(shí)時(shí)捕捉手指點(diǎn)的坐標(biāo)來計(jì)算移動方向及速率,進(jìn)一步判斷出手勢類型

2. 平移手勢

平移手勢往往用于導(dǎo)航。例如在一個(gè)圖片查看程序中,使用向左平移手勢可以導(dǎo)航到上一張,使用向右平移手勢導(dǎo)航到下一張圖片。平移手勢如圖2所示:雙指同時(shí)向左滑動或向右滑動。要區(qū)分用戶是要改變圖片的位置還是翻頁,需要使用加速度。通過定時(shí)器實(shí)時(shí)捕捉手指坐標(biāo),計(jì)算出速率和加速度,并通過經(jīng)驗(yàn)值與加速度比較來判斷手勢類型。

雙指觸控API揭秘

雙指觸控的核心是將原始觸摸數(shù)據(jù)放入運(yùn)動模型中去計(jì)算,以識別出用戶的手勢。原始觸摸數(shù)據(jù)可以從WM_TOUCH消息中得到,通過WM_TOUCH識別出縮放和平移手勢。

第一步:檢查多點(diǎn)觸控硬件

使用GetSystemMetrics API來獲取硬件是否就緒。如果沒檢測到多點(diǎn)觸控設(shè)備或設(shè)備沒有就緒,則無法使用觸摸功能。

第二步:切換到原始觸摸消息

在默認(rèn)情況下,Win7默認(rèn)提供WM_GESTURE(手勢)消息。使用RegisterTouchWindow API函數(shù)可讓系統(tǒng)返回WM_TOUCH原始觸摸輸入消息,通過這個(gè)消息可以得到原始觸摸數(shù)據(jù)。

第三步:得到原始觸摸數(shù)據(jù)

使用GetTouchInputInfo API得到原始觸摸數(shù)據(jù),可以獲取觸點(diǎn)的X和Y坐標(biāo)、發(fā)生時(shí)間、觸摸類型等信息。

以上是基本的雙指觸控API揭秘,利用這些API可以開發(fā)出支持多點(diǎn)觸控的應(yīng)用程序,為用戶帶來更好的操作體驗(yàn)。

標(biāo)簽: