共用方式為


Windows Vista 中的觸控輸入支援

從 Windows Vista 開始,平板電腦技術支援平板電腦上具有觸控功能數位板的觸控輸入。 此支援包含增強的使用者介面,可協助使用手指進行輸入時,協助鎖定和命令 Windows。

觸控數位板支援

畫筆和觸控輸入不排除

請勿假設手寫筆和觸控輸入在 InkCollectorInkOverlayRealTimeStylus 應用程式中互斥。

在 Windows Vista 中,當系統辨識手寫筆時,它會忽略觸控輸入。 也就是說,觸控筆劃會結束,筆劃開始。 因為這可能會在未來變更,所以您的程式代碼不應該假設手寫筆和觸控輸入互斥。

其他滑鼠訊息來源

即使使用者只使用手指或手寫筆進行互動,也有其他滑鼠訊息來源。 來源包括觸控板,以及移動,目的是讓應用程式在分層視窗後方知道滑鼠在應用程式上方移動。

啟用和停用觸控輸入使用者介面

視應用程式的需求而定,您可能想要啟用或停用觸控輸入使用者介面。 若要達成此目的,請攔截視窗程式中的作系統視窗訊息,並修改 Windows 訊息。 覆寫應用程式中 WndProc 來攔截這些訊息。 下列 C# 虛擬程式代碼示範如何啟用和停用觸控輸入使用者介面。 程序代碼也會顯示使用相同的技術來停用按住手勢。 此方法也適用於停用手寫筆。

const int WM_TABLET_QUERY_SYSTEM_GESTURE_STATUS = 716;

const uint SYSTEM_GESTURE_STATUS_NOHOLD           = 0x00000001;
const uint SYSTEM_GESTURE_STATUS_TOUCHUI_FORCEON  = 0x00000100;
const uint SYSTEM_GESTURE_STATUS_TOUCHUI_FORCEOFF = 0x00000200;

protected override void WndProc(ref Message msg)
{
    switch (msg.Msg)
    {
        case WM_TABLET_QUERY_SYSTEM_GESTURE_STATUS:
        {
            uint result = 0;
            if (...)
            {
                result |= SYSTEM_GESTURE_STATUS_NOHOLD;
            }

            if (...)
            {
                result |= SYSTEM_GESTURE_STATUS_TOUCHUI_FORCEON;
            }

            if (...)
            {
                result |= SYSTEM_GESTURE_STATUS_TOUCHUI_FORCEOFF;
            }

            msg.Result = (IntPtr)result;
        }
        break;

        default:
            base.WndProc(ref msg);
            break;
    }
}

Windows Touch