IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Formulaire sensé être en avant-plan mais masqué.


Sujet :

IHM

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut Formulaire sensé être en avant-plan mais masqué.
    Bonjour,

    J'ai un petit soucis avec plusieurs formulaires.

    Dans mon application, certains formulaires en ouvrent d'autres. Lorsque c'est le cas, le dernier formulaire ouvert a ses propriétés pop-up et modal sur True.
    En théorie, je devrais donc avoir ce formulaire en avant-plan.

    Mais ce n'est pas toujours le cas. Parfois, pour une raison que j'ignore, le formulaire, bien qu'ouvert, n'apparaît pas à l'écran. C'est le formulaire appelant qui est affiché. Ce qui est gênant en ce sens que les utilisateurs ne sont pas toujours au courant du fait qu'il suffise de faire alt+tab pour afficher le dernier formulaire ouvert.

    Et du fait qu'il soit défini en modal + pop-up, ces mêmes utilisateurs ont tendance à faire ctrl+alt+del... ce qui n'est pas souhaitable du tout.

    J'ai le soucis que je tourne l'application sous Office 2002, 2003, 2007 ou 2010.

    L'un de vous aurait-il une idée pour forcer l'affichage à s'effectuer en avant-plan ?

    Merci d'avance pour vos éventuelles suggestions.

    Geache.

  2. #2
    Membre du Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    bonjour,
    peut être après l'action OpenForm ajouter Form_MonFormulaire.SetFocus
    une idée comme ça

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    Je n'ai pas pensé à cette solution, je vais l'essayer. Le soucis, c'est que ce phénomène se produit de façon aléatoire. Je dois vérifier sur le long terme. Merci de ta suggestion, en tous cas.

    Pas besoin de vérifier sur le long terme, ce n'est pas la solution. J'ai essayé de donner le focus au formulaire, cela ne change rien. Pareil en tentant de donner le focus à l'un des contrôles. Dés la première ouverture, mon formulaire est parti en back-ground.

    Donc, malheureusement, cela ne résoud rien. Merci quand même.

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Geache,

    En jouant également sur les propriétés Fenêtre Modale et Fenêtre indépendantes de ton formulaire !

    JimBoLion

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    Fenêtre indépendante ? C'est quelle propriété du formulaire, cela ? C'est la propriété pop-up, non ?

    Mes deux propriétés sont positionnées à True. Modale et Pop-up.

    Après vérification, nous parlons bien de la même propriété, Jimbolion :

    Propriété Détermine
    PopUp Si le formulaire ou l'état ouvert est indépendant. Un formulaire ou un état indépendant reste toujours affiché au premier plan par rapport aux autres fenêtres Microsoft Access.
    Modal Si le formulaire ou l'état ouvert est un objet non modal (vous pouvez activer d'autres fenêtres) ou un objet modal (le formulaire ou l'état est activé jusqu'à sa fermeture).

    Mais depuis le début, ces deux propriétés sont bien fixées à True dans les formulaires qui doivent être traités complètement avant de rendre la main au formulaire appelant.

    Si j'en crois la littérature Microsoft, le dernier formulaire appelé devrait donc être ouvert en avant-plan, et il ne devrait pas être possible d'effectuer des opérations en dehors de celui-ci.

    La propriété Modal, quand à elle fonctionne bien puisque les utilisateurs ne peuvent plus rien faire d'autre que ctrl + alt + del quand ils n'ont pas la présence d'esprit de d'abord faire un alt + tab.

    Mais ce ctrl + alt + del n'est pas judicieux et pourrait s'avérer dangereux pour l'intégrité des données. Ce qui n'est heureusement pas le cas dans notre application.

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Geache

    Fenêtre indépendante ? C'est quelle propriété du formulaire, cela ? C'est la propriété pop-up, non ?
    Probablement la version que tu utilises car voilà ce que me donne ma version.

    Nom : Capture.JPG
Affichages : 226
Taille : 40,7 Ko

    Les propriétés sus-citées permettent effectivement d'agir sur ta fenêtre comme tu l'entends, l'utilisation d'une fenêtre indépendante (Pop-Up) interdit toute fenêtre (ou état) en superposition (ce qui peut être gênant à terme) lorsque celle ci est autre que modale. Il faut s'essayer avec les différentes combinaisons avant d'adapter chaque ouverture.

    A toi de décider lorsque tu souhaites que l'utilisateur puisse agir par Ctrl+Tabl (dans ce cas les 2 propriétés à Non), ou permettre la superposition sans activer d'autres fenêtes ou interdire cette superposition. Cela donne donc quatre possibilités (oui / oui, non/oui, oui/non,non/non) impactant le comportement de ton formulaire.

    Mais attention, ces propriétés peuvent être caduques si le mode d'ouverture d'un formulaire (vba ou macro) l'impose en fenêtre modale.

    Le set.focus peut permettre de résoudre ton problème (mais il s'agit d'un artifice)

    J'ai eu occasion de travailler sur des projets avec plus de 400 formulaires, sans que l'utilisateur ne soit perturbé par le fonctionnement. Il faut juste utiliser les propriétés à bon escient. Il m'arrive même d'ouvrir le même formulaire en utilisant des propriétés différentes (dû au contexte tout simplement).

    JimBoLion

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    Je vais tester chacune des 4 possibilités, je vous tiendrai au courant de l'évolution.

    Merci de votre attention et de votre aide.

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    Résultat des investigations :

    Mon formulaire appelant est en pop-up true et modal true (C'est le menu général de l'application)

    Formulaire appelé :

    FG = avant-plan, BG = arrière plan

    Modal Popup Résultat
    N N BG, inaccessible
    N Y FG, mais gare aux clics hors zone
    Y N BG, inaccessible
    Y Y BG aléatoire, accessible via alt+tab

    Dans l'état actuel, je garde donc mes propriétés à true. Je vais modifier mon manuel utilisateur pour que cette possibilité d'affichage par alt-tab y figure.

    Par contre, le formulaire appelant dispose d'un timer qui effectue un contrôle de certaines données toutes les 30 secondes et exécute une série d'action dans certains cas. Est-ce une cause probable de disfonctionnement de mes appels de formulaires ? Je vais un peu investiguer de ce côté-là.

  9. #9
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Geache,

    Par contre, le formulaire appelant dispose d'un timer qui effectue un contrôle de certaines données toutes les 30 secondes et exécute une série d'action dans certains cas. Est-ce une cause probable de dysfonctionnement de mes appels de formulaires ? Je vais un peu investiguer de ce côté-là.
    Cela ne devrait pas, sauf si tu déclenches des ouvertures de formulaires à partir d'un Timer

    En règle générale les formulaires pop-up et modales à true sont les derniers formulaires ouverts et force l'utilisateur à opérer sur celui-ci. Un menu, et cela dépend bien évidemment de l’enchaînement de tes écrans est non modale et non pop-up. Ensuite à toi de jouer avec les formulaires de manière à inciter l'utilisateur à opérer les choix que tu as dictés (c'est individuel et portatif)

    JimBoLion

  10. #10
    Membre du Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    dans mes bases, j'utilise un form MenuPrincipal qui reste charger en permanence et qui a les propriétés indépendante et modale à True. j'utilise juste la propriété Visible pour faire apparaitre et disparaitre mon menu. tout fonctionne à merveille.
    peut-être une piste ?

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    Geache,
    En règle générale les formulaires pop-up et modales à true sont les derniers formulaires ouverts et force l'utilisateur à opérer sur celui-ci. Un menu, et cela dépend bien évidemment de l’enchaînement de tes écrans est non modale et non pop-up.
    JimBoLion
    Oui, c'est bien ce que je pensais que j'aurais comme réaction. Ce qui m'agace dans l'histoire, c'est que cela fonctionne dans 99% de mes formulaires. Et çà et là, j'en ai un ou l'autre qui passe en background. Bien sûr, lorsque cela arrive, le téléphone sonne. Une fois de temps en temps, ça va, mais si cela se reproduit régulièrement, ça va aussi bien énerver le client que moi-même. Donc je cherche à éradiquer ce phénomène.

    Citation Envoyé par Ovr19
    dans mes bases, j'utilise un form MenuPrincipal qui reste charger en permanence et qui a les propriétés indépendante et modale à True. j'utilise juste la propriété Visible pour faire apparaitre et disparaitre mon menu. tout fonctionne à merveille.
    peut-être une piste ?
    C'est également le but ici. Avoir ce formulaire comme étant la plateforme à partir de laquelle toutes les autres actions sont effectuées. Quand tu parles de la propriété visible, tu parles de celle de ton formulaire de menu principal ?

  12. #12
    Membre du Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    oui, sur l'action d'un bouton, mon form MenuPrincal.Visible=False et sur la fermeture de mes formulaires et si aucun autre formulaire n'est ouvert alors MenuPrincipal.Visible=True

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    La question qui me tracasse, dans ce cas là, si je masque mon formulaire de menu principal, est-ce que cela va impacter l'action de mon timer ?

    Le but de celui-ci, c'est de réaliser un contrôle de matériel manquant non pas en temps réel puisqu'il est programmé toutes les 30 secondes, mais presque. Or, ce matériel manquant doit être signalé d'urgence à un quartier opératoire. Pourquoi ? Tout simplement pour vérifier qu'on n'a pas oublié d'instrument dans le corps d'un patient.

    C'est d'un très mauvais effet, sinon.

    Donc, en fait, je dois être certain que ce contrôle continue d'être réalisé.

    Limite, je préfère que certains formulaires soient en background et obligent à une action alt+tab.

    Je vais tester.

    Une autre de mes craintes, c'est que le fait de masquer/afficher le menu principal ne donne un effet de flash à l'écran. Ce qui n'est pas spécialement top non plus.

  14. #14
    Membre du Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    aucun problème, je viens de tester
    en mode invisible, le timer du form continue à faire ses actions
    mais pour le flash je ne sais pas car j'ai fait mon test avec l'ouverture d'une MsgBox toute les 10s

  15. #15
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    D'accord. Je vais tester également, mais je n'aurai plus le temps aujourd'hui, par contre. Ce ne sera sans doute plus avant la semaine prochaine.
    Merci à vous pour vos suggestions.

  16. #16
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 185
    Points : 173
    Points
    173
    Par défaut
    Bonjour,

    J'ai testé vos idées, cela ne change rien chez moi. J'ai toujours quelques formulaires qui jouent les background aléatoires. Je n'ai vraiment aucune idée d'où cela peut provenir. Je vais laisser ce problème en suspend. J'ai indiqué ce phénomène dans mon guide utilisateur et prévenus nos clients actuels de l'action à prendre dans ce cas là.

    Par contre, je ne sais pas si je dois mettre ce poste en résolu dans ce cas.

    Bonne journée,

    Geache

Discussions similaires

  1. Mettre un formulaire en avant plan
    Par mahboub dans le forum Access
    Réponses: 5
    Dernier message: 22/11/2006, 21h23
  2. formulaire en "avant-plan"
    Par questions dans le forum IHM
    Réponses: 2
    Dernier message: 08/06/2006, 19h27
  3. Mode console toujours en avant plan ....
    Par Alice9 dans le forum MFC
    Réponses: 10
    Dernier message: 27/09/2005, 13h38
  4. Comment faire pour qu'une Form reste en avant-plan?
    Par Bodom-Child dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/08/2005, 10h28
  5. Mettre en avant plan une autre application...
    Par loupdeau dans le forum MFC
    Réponses: 13
    Dernier message: 19/05/2005, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo