Escolhendo a abordagem certa para o Windows Touch

Esta seção explica as diferentes abordagens do Windows Touch que você pode usar.

Você pode aprimorar aplicativos usando recursos do Windows Touch de várias maneiras. Antes de adotar um método, você deve considerar o que deseja fazer com seu aplicativo. Os seguintes cenários são típicos para o Windows Touch:

  • Você deseja que seu aplicativo se comporte da mesma forma que nas versões herdadas do Windows, mas deseja que as mensagens do Windows Touch se comportem consistentemente.
  • Você deseja ter suporte personalizado de rotação, tradução, movimento panorâmico ou zoom em seu aplicativo.
  • Você deseja que seu aplicativo tenha uma interpretação refinada dos gestos do Windows Touch ou interprete vários toques em um aplicativo otimizado especificamente para entrada do Windows Touch.
  • Você tem um aplicativo que usa o objeto RealTimeStylus e deseja aprimorá-lo com recursos do Windows Touch.

Você deseja que seu aplicativo se comporte como fez em versões herdadas do Windows

No Windows 7, por padrão, os aplicativos geram mensagens que habilitam a funcionalidade do Windows Touch. Por exemplo, os gestos de panorâmica disparam mensagens WM_*SCROLL. Além do suporte a painéis, o manipulador de WM_GESTURE padrão no Windows 7 dá suporte a comentários de limite, zoom e pressionamento e toque. Os comentários de limite também são habilitados por meio do suporte herdado. Consulte a Visão geral de gestos de toque do Windows para obter mais informações sobre como os gestos são mapeados para mensagens. Os desenvolvedores que desejam apenas essa funcionalidade básica não precisam trabalhar diretamente com a API do Windows Touch.

Observação

Manipuladores de barra de rolagem personalizados devem dar suporte à solicitação SM_THUMBPOSITION para mensagens WM_VSCROLL e devem dar suporte à solicitação de SB_LINELEFT e SB_LINERIGHT solicitação de mensagens WM_HSCROLL .

Você deseja suporte a rotação, tradução, movimento panorâmico ou zoom de objetos personalizados

Se você quiser suporte limitado para toque, mas o comportamento padrão oferecido pelo Windows 7 não for adequado para seu aplicativo, você poderá usar gestos para aprimorar seu aplicativo. Usando gestos, você pode interpretar os comandos de gesto manipulando a mensagem de WM_GESTURE . Mais informações sobre gestos podem ser encontradas na seção Gestos de Toque do Windows. Se seu aplicativo precisar de suporte apenas para rotações de alta granularidade, suporte aprimorado para zoom ou movimento panorâmico de dedo único, os gestos são a melhor abordagem a ser tomada para o desenvolvimento do Windows Touch. Além de interpretar a mensagem de gesto, você pode optar por ter suporte para comentários de limite. Para obter mais informações sobre comentários sobre limites, consulte a seção Comentários sobre limites da Referência de Programação do Windows Touch. No Windows 7, o prompt de comando e o Explorer da Internet aproveitam os comentários e gestos de limite.

  • A seção Aprimorando a experiência de movimento panorâmico de dedo único explica como personalizar a experiência de movimento panorâmico manipulando a mensagem WM_GESTURE .

Você deseja uma interpretação de gesto refinada ou manipulação personalizada de vários pontos de toque

Se você quiser ter um controle ainda mais específico dos gestos do que o oferecido pela mensagem WM_GESTURE ou se quiser interpretar vários gestos em vários objetos, use o processador de manipulação. O processador de manipulação essencialmente é um superconjunto de gestos. O uso do processador de manipulação exige que você implemente um coletor de eventos para manipulações às quais você alimenta dados de toque brutos.

Se você quiser física de objeto simples além de interpretar os gestos, deverá usar um processador de inércia em conjunto com o processador de manipulação. O processador de inércia funciona com o processador de manipulação usando valores de velocidade do processador de manipulação após a conclusão da manipulação.

Se você quiser interpretar vários pontos de toque em seu aplicativo, deverá criar um manipulador de mensagens para a mensagem WM_TOUCH .

Importante

Windows 11 e mais recentes

Algumas interações por toque de três e quatro dedos não funcionarão mais em aplicativos do Windows por padrão.

Por padrão, as interações por toque de três e quatro dedos agora são consumidas pelo sistema para operações como alternar ou minimizar janelas e alterar áreas de trabalho virtuais. Como essas interações agora são tratadas no nível do sistema, a funcionalidade do aplicativo pode ser afetada por essa alteração.

Para dar suporte a interações de três ou quatro dedos em um aplicativo, foi introduzida uma nova configuração de usuário que especifica se o sistema lida ou não com essas interações:

Dispositivos Bluetooth & Tocam > "Gestos > de toque de três e quatro dedos"

Quando definido como "Ativado" (padrão), o sistema manipulará todas as interações de três e quatro dedos (os aplicativos não poderão dar suporte a elas).

Quando definido como "Desativado", as interações de três e quatro dedos podem ser suportadas por aplicativos (eles não serão manipulados pelo sistema).

Se o aplicativo precisar dar suporte a essas interações, recomendamos que você informe os usuários sobre essa configuração e forneça um link que inicie o aplicativo Configurações para a página relevante (ms-settings:devices-touch). Para obter mais detalhes, consulte Método Launcher.LaunchUriAsync.

Você deseja habilitar a entrada do Windows Touch para um aplicativo que usa o RealTimeStylus

Se você quiser habilitar a entrada para vários contatos na plataforma tablet pc, deverá implementar um plug-in RealTimeStylus personalizado que interprete os dados do Windows Touch. A Microsoft introduziu as interfaces ITablet3 e IRealTimeStylus3 para habilitar a entrada de vários contatos no plug-in RealTimeStylus. Essas interfaces simplificam a extensão de plug-ins RealTimeStylus para dar suporte a vários pontos de contato.

Para marcar se o suporte para vários contatos está habilitado, chame IsMultiTouch. Para marcar o número de contatos com suporte, chame GetMaximumCursors. Para habilitar ou desabilitar o suporte a vários contatos, chame MultiTouchEnabled.

Observação

Se você não habilitar vários pontos de contato no RealTimeStylus, receberá mensagens de gesto, como panorâmica e zoom.

Guia de programação