Aide - Recherche - Membres - Calendrier
Version complète : Intercepter les taps dans une form
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS > Développement HB++
D2P
L'idée de départ était celle-là :

Est-il possible de gérer l'ouverture du menu d'une form ?

Je voudrais pendant une action en cours dans la form interdire l'accès au menu.

Mais à part les events appellés par un tap sur un item, je n'ai rien trouvé du niveau au dessus (le menu) anim_sorry.gif




Mais finalement, je voudrais interdire l'activation de tout élément pendant qu'un autre est actif... Voir le 3ème post anim_wink.gif
snark
Pas à ma connaissance. Je crois que ça va contre les recommandations d'interfaces graphiques de Palm.

Idée qui me vient à l'esprit: dans tous les events de ton menu, utilise un Boolean unique qui indique s'il faut lancer l'action ou ne rien faire.
D2P
CITATION(snark @ 18/05/2007 à 15:02 ) *
Idée qui me vient à l'esprit: dans tous les events de ton menu, utilise un Boolean unique qui indique s'il faut lancer l'action ou ne rien faire.

C'est ce que j'ai commencé à faire, mais finalement j'aurai préféré que le menu ne soit pas accessible.

Et puis tout en continuant à traiter élément par élément l'interdiction de l'activation quand cette action est en cours, je me dis qu'il y aurait peut-être plus simple mais je ne sais pas si c'est possible et encore moins comment on fait icon_bla.gif

En gros, pendant qu'un field est visible, je veux interdire un tap partout ailleurs que dans ce field.

Est-il possible d'intercepter les taps et de vider un "buffer" avant que ce tap ne soit transmis au élément pour action ?
D2P
Pour l'instant je n'ai pas trouvé et j'ai 2 autres pistes :
- coller l'image de la form dans un uc pour masquer tous les éléments en dessous...
- finalement mettre mon field à remplir dans une modalform pour que l'autre (bien que visible) soit inactive le temps de la saisie...

Mais bon, je ne trouve pas celà satisfaisant dry.gif
D2P
Bon ben finalement autre piste peut-être plus simple et plus logique. J'annule la saisie en cours si on fait un tap ailleurs cool.gif
Payalba
Et un truc de ce type ?

CODE
Private Sub Form_KeyPress(ByRef iChar As Integer, ByRef iKeyCode As Integer, ByRef eModifiers As HbKeyModifier, ByRef bForward As Boolean)
    if iChar = 261 then
        bForward = false
    end if
End Sub
Payalba
A la place du 261 utilise la constante : hbCharMenu

CODE
Private Sub Form_KeyPress(ByRef iChar As Integer, ByRef iKeyCode As Integer, ByRef eModifiers As HbKeyModifier, ByRef bForward As Boolean)
     if iChar = hbCharMenu then
         bForward = false
     end if
End Sub


Code à conditionner en fonction de "je veux que le menu s'ouvre ou non" sleep.gif
D2P
Merci Payalba anim_wink.gif Je regarde ça et je te dis top.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.