Prise en charge des mouvements dans les applications Metropolis UI

De RAD Studio
Aller à : navigation, rechercher

Remonter à Développement des applications Metropolis UI


Les applications metropolis UI les mouvements suivants dans les applications Metropolis UI :

Les mouvements personnalisés ne sont pas supportés dans les applications Metropolis UI.

Le support des mouvements dans FireMonkey est fourni par le biais de deux API différentes :

  • API RealTimeStylus pour les mouvements standard (toucher simple)
  • API Windows Touch pour les mouvements interactifs (toucher multiple)

Support des mouvements interactifs Windows 8

Lorsque vous exécutez une application Metropolis UI sur Windows 8, la plupart des mouvements interactifs de Windows 8 sont supportés, comme suit :

Mouvement Windows 8 Support dans les applications Metropolis UI

Appuyer

Supporté en tant que clic, traduit par Windows 8

Appuyer de façon prolongée

Non supporté

Glisser

Non supporté*

Balayer

Non supporté*

Tourner

Supporté en tant que rotation

Pincer

Supporté en tant que zoom (la valeur de EventInfo.Distance diminue)

Etirer

Supporté en tant que zoom (la valeur de EventInfo.Distance augmente)

* Les mouvements Glisser et Balayer peuvent être simulés en utilisant le mouvement Panoramique des applications Metropolis UI, en faisant le suivi de l'emplacement et de la direction du mouvement panoramique.

Les mouvements interactifs supportés sont décrits dans :

Pour plus d'informations sur les mouvements Windows 8 équivalents, voir http://msdn.microsoft.com/fr-fr/library/windows/apps/hh761498.aspx#input_modes.

Gestion des mouvements dans Windows 8

Dans Windows 8, quand RealTimeStylus est activé pour une fenêtre, tous les mouvements sont envoyés par le biais de l'API RealTimeStylus MS Windows 8, et l'API Windows Touch ne rapporte aucun événement.

Pour résoudre ce problème, un indicateur global a été ajouté à FireMonkey afin de permettre la désactivation de l'API RealTimeStylus. Quand l'API RealTimeStylus est désactivée, FireMonkey ne détecte pas les mouvements standard. A la place, les événements de mouvement de l'API Windows Touch sont rapportés individuellement par le biais du gestionnaire d'événements OnGesture.

Vous pouvez interpréter ces événements pour déterminer le mouvement qui a été réalisé par l'utilisateur. Un mouvement Windows Touch est déclaré en tant qu'événements multiples, en commençant par l'événement avec le TGestureEventInfo.Flag contenant gfBegin et en se terminant par un événement contenant gfEnd. Pour plus d'informations, voir FMX.Types.TInteractiveGestureFlag.

Pour activer le compte rendu des événements Windows Touch, et pour activer les mouvements interactifs, le code suivant doit être ajouté au début du fichier programme principal :

Delphi :

TPlatformServices.Current.GlobalFlags.Add(GlobalDisableStylusGestures, True);

C++ :

TPlatformServices::Current->GlobalFlags->Add(GlobalDisableStylusGestures, true);

Vous devez aussi ajouter FMX.Platform et FMX.Consts à votre section uses ou aux instructions #include.

Cette solution n'est pas requise sur Windows 7 et il est possible qu'elle ne soit pas requise dans la release finale de Windows 8.

Voir aussi