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

C++Builder Discussion :

Lister les fenêtres MDI ouvertes dans un menu


Sujet :

C++Builder

  1. #1
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut Lister les fenêtres MDI ouvertes dans un menu
    Bonjour,

    existe-t-il une méthode classique pour gérer la liste des fenêtres MDI ouvertes dans un menu?

    Pour l'instant, suis parti à les ajouter à chaque allocation et à gérer en conséquence, mais je dis qu'il y peut-etre mieux et que je suis passé à côté.

    merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Je le fais également manuellement dans le constructeur de la MDIChild.
    Donc je défait manuellement dans le destructeur de la MDIChild ou dans
    la OnClose.

    Je ne pense pas qu'il existe un automatisme de ce genre ! En tout cas pas
    dans ma version BCB 3 Pro !

    A plus !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 62
    Points : 46
    Points
    46
    Par défaut
    Salut,

    Je gere aussi manuellement dans mon menu 'Fenêtre' la liste des fenêtres filles ouvertes.

    Par contre je n'arrive pas à rendre active une fenêtre en cliquant sur son nom dans cette liste
    Voici le code de ma fonction associée au clic sur les noms de fenêtres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TFormP::SelectionFenetre(TObject *Sender)
    {
        TMenuItem *ClickedItem = dynamic_cast<TMenuItem *>(Sender);
        ClickedItem->Checked = true;    
        FenetreFille[ClickedItem->Tag]->Focused();
    }
    le Tag de chaque item de la liste de fenêtre étant initialisé avec l'indice de la fenetre.
    La fenêtre cliquée est bien cochée, mais n'obtient pas le focus ......

    Qu'est-ce qui n'est pas bon dans mon code ? comment pourrais-je faire ?

    Merci

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Personnellement, j'affecte au Tag du menu la valeur du pointeur sur la fenêtre puisque la liste
    des MDIChild est actualisée (au cas où l'index ne serait plus le bon à cause de la fermeture
    d'une fenêtre)

    Sinon, il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FenetreFille[ClickedItem->Tag]->SetFocus();
    A plus !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 62
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par henderson
    il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FenetreFille[ClickedItem->Tag]->SetFocus();
    Bon sang, mais c'est bien sûr !!

    Merci, ça fonctionne nickel

    Citation Envoyé par henderson
    Personnellement, j'affecte au Tag du menu la valeur du pointeur sur la fenêtre puisque la liste des MDIChild est actualisée (au cas où l'index ne serait plus le bon à cause de la fermeture d'une fenêtre)
    Heu, et ça ne revient pas au même que ce que je fais ? C'est mon premier essai d'appli MDI et je ne maitrise pas encore tout .....

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    On peut le faire des deux façons, le tout c'est que ça fonctionne.

    Par contre, on peut aussi se dire que chaque objet a sa propre tâche à réaliser.
    Ma méthode va dans ce sens.
    Si tu veux, je peux t'envoyer un exemple.

    A plus !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 62
    Points : 46
    Points
    46
    Par défaut
    toujours prêt à découvrir de nouuvelles méthodes, je suis donc preneur

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    C'est fait par mp !

    A plus et bon développements !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 62
    Points : 46
    Points
    46
    Par défaut
    je regarde ça.

    Merci beaucoup

  10. #10
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Bonjour...
    henderson, ça m'intéresse aussi.

    Ceci, j'ai avancé dans mes recherches. Il existe bien une méthode ultra simple permettant de gérer cette liste, ainsi d'ailleurs que le mode cascade ou mosaique.

    Alors, je suis sous BCB 6.0 pro donc je ne sais pas si ça existe sous BCB 3.0
    Sur la MDIFom, tu as une propriété WindowMenu à laquelle, il suffit d'affecter le mainmenu à utiliser. Chaque création de MDIChild va ajouter une entrée dans le menu choisi. de plus, avec une action list, on va gérer automatiquement les cascade et autres mosaiques.

    voilou, j'espère que c'est clair.

    [bon, il se trouve que moi j'utilise SuiPack, composant de skin, qui ne gère pas WindowMenu donc la solution d'henderson m'intéresse]

    merci

    simon

  11. #11
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Bon, SuiPack a corrigé le problème!!! trop bien.

    donc je confirme la solution méga easy....mais je sais pas à partir de quelle version c'est dispo

    sur la MDIForm, on indique dans la proprièté WindowMenu l'item qui doit lister les MDIChild ouvertes...(par ex: Fenetres qui contiendra aussi cascade, mosaique, etc...)

    l'ensemble des actions de cet item peut être gérer sans aucune ligne de code.

    voilou, bonne continuation à tous

    Simon

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

Discussions similaires

  1. [WD10] lister les fenêtres ouvertes dans le menu <Fenêtre>
    Par GodGives dans le forum WinDev
    Réponses: 3
    Dernier message: 26/03/2010, 17h46
  2. Réponses: 0
    Dernier message: 30/06/2009, 09h47
  3. Réponses: 5
    Dernier message: 27/08/2007, 10h40
  4. Réponses: 11
    Dernier message: 28/02/2007, 12h18
  5. lister les noms de dossier dans un menu déroulant
    Par WeDgEMasTeR dans le forum Langage
    Réponses: 9
    Dernier message: 01/04/2006, 01h53

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