共用方式為


系統事件和滑鼠訊息

您的應用程式會藉由傳送 Microsoft Windows 滑鼠訊息和系統事件,來納入平板電腦手寫筆的最佳設計和使用方式。 應用程式會針對每個畫筆移動或動作接收這兩組事件。 然後,應用程式會根據動作的內容選擇要使用的適當事件。 Windows 滑鼠訊息適用於指向和選取活動,您應該將它們用於與使用者介面 (UI) 元素互動的活動。 畫筆事件適用於即時筆跡應用程式、手寫筆動作和手寫。

注意

無論是否使用畫筆或滑鼠,畫筆事件和滑鼠訊息都會傳送至應用程式。

區分手寫筆輸入與滑鼠和觸控

當您的應用程式收到滑鼠訊息(例如WM_LBUTTONDOWN),它可能會呼叫 GetMessageExtraInfo 函式來評估訊息是否源自手寫筆或滑鼠裝置。

GetMessageExtraInfo 傳回的值必須針對0xFFFFFF00進行遮罩檢查,然後與0xFF515700進行比較。 下列定義可能會更清楚:

#define MI_WP_SIGNATURE 0xFF515700
#define SIGNATURE_MASK 0xFFFFFF00
#define IsPenEvent(dw) (((dw) & SIGNATURE_MASK) == MI_WP_SIGNATURE

如果比較為 true,則平板電腦畫筆或觸摸屏會產生此滑鼠訊息。 在其他所有情況下,您可以假設此訊息是由滑鼠裝置所產生。

GetMessageExtraInfo 傳回的較低 8 位是變數。 在這些位中,7(由 0x7F 遮罩的較低 7 個)用來表示游標標識碼、滑鼠的零或手寫筆標識碼的變數值。 此外,在 Windows Vista 中,第八位由0x80遮罩,用來區分觸控輸入與畫筆輸入 (0 = 手寫筆,1 = 觸控)。

如需詳細資訊,請參閱 指標裝置輸入觸控輸入

支援的系統手勢

下表列出 Windows XP Tablet PC Edition 中目前包含的系統手勢、詳細說明對應的手寫筆動作和系統事件,並顯示它們與傳統滑鼠動作的關聯性。

手寫筆筆筆勢 滑鼠動作 手寫筆筆筆勢描述 事件訊息 滑鼠訊息 Windows 應用程式中的行為
點選
按滑鼠左鍵
使用畫筆點選螢幕一次。
當畫筆抬起時,ISG_TAP傳送。
當畫筆抬起時,WM_LBUTTONDOWN和WM_LBUTTONUP傳送。
從功能表或工具列選擇命令,如果選擇命令,請採取動作,設定插入點 (IP),顯示選取意見反應。
按兩下
按兩下
連續兩次點選畫面。
ISG_DOUBLETAP在第二次點選上傳送(向下)。 ISG_TAP在第一次點選時傳送的事件。
WM_LBUTTONDBLCLK在第二次點選上傳送(向下)。 WM_LBUTTONDOWN和WM_LBUTTONUP傳送在第一次點選 (up) 作為單一點選。
選取 word,開啟檔案或資料夾。
按住
以滑鼠右鍵按一下
點選畫面並按住滑鼠圖示,然後抬起手寫筆以顯示快捷方式功能表。 應用程式可以選擇執行不同於在手寫筆解除時顯示滑鼠右鍵功能表的動作。
ISG_HOLDENTER當畫筆已經足夠長的時候送了。 ISG_RIGHTTAP當畫筆隨即抬起併發生滑鼠右鍵時傳送。
按兩下滑鼠右鍵時WM_RBUTTONDOWN和WM_RBUTTONUP傳送 (當畫筆隨即抬起時)。
顯示快捷方式功能表。
暫留
按滑鼠左鍵
點選畫面並按住滑鼠圖示,直到滑鼠圖示出現並消失為止。 當使用者意外按下並按住並想要還原為僅點選時,使用者可能會執行此動作。
當畫筆抬起時,ISG_TAP傳送。
當畫筆抬起時,WM_LBUTTONDOWN和WM_LBUTTONUP傳送。
長時間按下滑鼠左鍵。 沒有滑鼠對等專案存在。 當用戶長時間執行按住時,這是的後援。 事件會還原為點選。
拖曳
左拖曳
點選畫面以選取要移動的物件,然後在選取對象之後拖曳。
拖曳開始時ISG_DRAG傳送。
在拖曳開始時傳送WM_LBUTTONDOWN,後面接著一連串的滑鼠移動訊息,後面接著WM_LBUTTONUP事件。
從 IP 開始時,如在 Microsoft Word 中所示的拖曳選取;選取多個單字;拖曳,就像在 Windows 中拖曳物件時一樣;滾動。
按住並按住 ,後面接著拖曳
向右拖曳
點選畫面以選取要移動的物件。 按住滑鼠圖示,然後拖曳以移動物件。 抬起畫筆以顯示快捷方式功能表。
ISG_HOLDENTER當畫筆已經關閉一段時間時傳送。 ISG_RIGHTDRAG拖曳開始時傳送。
WM_RBUTTONDOWN在拖曳開始時傳送,後面接著一系列滑鼠移動訊息,後面接著WM_RBUTTONUP事件。
拖曳,就像拖曳對象或選取範圍後面接著操作功能表一樣。
手寫筆暫留
滑鼠暫留
將手寫筆穩定在距離螢幕的一小段距離。
ISG_HOVERENTER事件一開始傳送。 當暫留間隔完成時,ISG_HOVERLEAVEis傳送。
沒有對等的滑鼠訊息。
顯示工具提示、變換效果和其他滑鼠暫留行為。
空中搖動
顯示 平板電腦輸入面板。 沒有滑鼠對等專案。
將手寫筆快速從一邊移到一邊,按住上方的筆尖,但在螢幕範圍內。
事件不會傳遞至應用程式。
沒有對等的滑鼠訊息。
平板電腦專屬的新功能。

 

指定手寫筆和觸控互動

根據預設,您的視窗將會收到所有系統手勢事件,並使用預設的互動模型。 此模型的某些部分可能會干擾您的應用程式,因此您可以透過回應 WndProc 中的WM_TABLET_QUERYSYSTEMGESTURESTATUS訊息 ,選擇性地停用它們。