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

WinDev Discussion :

Champs hide / show barre de menu [WD17]


Sujet :

WinDev

  1. #1
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut Champs hide / show barre de menu
    Bonjour à tous,

    je cherche une solution pour pouvoir cacher / montrer mon bandeau latéral qui me sert de menu.

    Un peu comme un séparateur, mais au lieu de slider pour redimensionner, il y a juste à cliquer dessus, et ça cache automatiquement la partie de gauche, et tout ce qui se trouvait à droite s'étend pour occuper tout l'écran.

    Je me dis que ça doit être relativement faisable par programamation, mais je me dis aussi que peut être il existe un widget tout fait pour gérer cela.

    Merci pour vos propositions.

    bvadam

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    Salut,

    J'écris comme je réfléchis donc ca peut ne rien donner du tout (comme souvent ). Mais tu pourrais mettre un séparateur en invisible et ton bouton le déplacerait. Ainsi, les ancrages feraient le reste.

    Ou même, il y a peut-être un évènement de clic sur un séparateur tu peux faire de même du coup.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    Bonjour,

    Vous pouvez utiliser un séparateur comme suggéré par Simeonn.
    Dans l'état initial vous cochez inactif pour que l'utilisateur ne puisse pas le déplacer, puis vous ajoutez l'événement pour gérer le clic (qui fonctionnera malgré le champ inactif ....)

    Dans le code du clic, vous pouvez modifier la position x à 0 pour masquer votre menu, et la remettre à sa position initial pour l'afficher, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SI MoiMême..X > 0
       // Masque le menu
       MoiMême..X = 0
    SINON
       // Afficher le menu
       MoiMême..X = MoiMême..XInitial
    FIN

  4. #4
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Bon alors j'étais bien parti sur cette piste, réutiliser un champs split.

    Néanmoins, si le principe fonctionne, le rendu n'est pas bon. Quand je réduis mon bandeau menu, alors il y a un voile qui continue de recouvrir la fenêtre chargée dans ma partie droite, voyez plutôt :

    avant le clic :


    après le clic :


    Dommage que ça bug, parce que c'est bien pratique sinon

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    As-tu essayé de mettre ton menu à gauche (celui qui doit disparaitre) en ..Visible=Faux puis ..Visible=Vrai?
    En le rajoutant j'obtiens ca :
    Nom : dev.png
Affichages : 951
Taille : 64,7 Ko

  6. #6
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Oui j'ai essayé et toujours le même bug.

    Ce qu'il faut savoir c'est que mon IHM est créée dans une seule fenêtre mère dans laquelle j'ai le menu boite à outils à gauche, et à droite une fenêtre interne FEN_INTERNE que je remplace à la volée par mes autres fenêtres internes de mes différents modules. Et entre les 2 j'ai calé mon séparateur, et ça déconne

    Sinon voici le code que j'exécute sur clic du séparateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SI splitmode = 0 ALORS
     
    	splitmode = 1
     
    	MoiMême..X = 0
    	BAO_MENU..Visible = Faux
    	BTN_QUITTER..Visible = Faux
     
     
    SINON
     
    	splitmode = 0
     
    	MoiMême..X = 190
    	BAO_MENU..Visible = Vrai
    	BTN_QUITTER..Visible = Vrai
     
    FIN

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    J'ai déjà constat ce genre de blague si le champ empiète sur le séparateur.
    La position X + largeur du champ menu doit être strictement inférieur à la position X du séparateur.

    Edit: Et votre champ menu doit être ancré en largeur pour que cela fonctionne ...

  8. #8
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Oui oui je respecte bien tout cela, mais ça ne veut rien savoir...

    si je pouvais vous envoyer ma fenêtre pour tester, mais le contenu du menu se charge dynamiquement selon le user loggué, et donc en se référa

  9. #9
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Oui oui je respecte bien tout cela, mais ça ne veut rien savoir...

    si je pouvais vous envoyer ma fenêtre pour tester, mais le contenu du menu se charge dynamiquement selon le user loggué, et donc en se référant à une base sql server :/

  10. #10
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    C'est étrange le rectangle ne correspond pas à la dimension du champ initiale, de plus si vous le rendez invisible le rectangle ne devrait même pas exister, même sans déplacer le séparateur.

    Si vous rendez le champ actif et que vous le déplacez normalement, constatez-vous également des problèmes de chevauchement ?
    N'avez-vous pas un autre champ caché dessous ? ou dans un autre plan ? (pensez à l'affichage 3d (Alt+D) pour contrôler les différentes couches)

  11. #11
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    ça alors je ne connaissais pas ce mode 3d, très impressionnant !!

    alors effectivement tous mes éléments ne se trouvent pas dans le même plan :

    j'ai en niveau 0 (tout au fond) ma fenêtre mère (FEN_START)
    niveau 1 :
    FI_MENU et FI_GENERALE
    niveau 2 :
    ma boite à outils BAO_MENU qui est dans FI_MENU
    et niveau 3 :
    le contenu de chacun des volets de ma BAO, ainsi que le séparateur

    je poste la vue 3d même si ce n'est pas forcément très évident :



    est-ce que c'est mal "monté" ?

    EDIT : c'est tout bon, en fait c'est la FI_MENU qui me posait problème. Du coup, sur clic du séparateur, je modifie le X de mon séparateur, et en même temps je rends invisible ou visible ma FI_MENU. C'est résolu. Un grand merci pour l'astuce du mode 3d qui m'a permis de me souvenir que mon menu était en fait posé sur une fenêtre interne que je ne voyais plus !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Barre de menu
    Par smicky77 dans le forum Access
    Réponses: 11
    Dernier message: 03/02/2006, 18h15
  2. Comment faire une Barre de Menu?
    Par gamerome dans le forum OpenGL
    Réponses: 5
    Dernier message: 18/02/2005, 14h46
  3. [MFC] Supprimer la barre de menu
    Par Kevgeii dans le forum MFC
    Réponses: 8
    Dernier message: 27/11/2004, 17h09
  4. barre de menu principal
    Par norfelt dans le forum IHM
    Réponses: 10
    Dernier message: 27/10/2003, 11h37
  5. Comment créer des barres de Menu ?
    Par MoKo dans le forum IHM
    Réponses: 5
    Dernier message: 30/07/2003, 14h58

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