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 :

Comment savoir si une fenetre modale est ouverte


Sujet :

C++Builder

Vue hybride

franckcl Comment savoir si une fenetre... 19/12/2006, 10h53
kmaniche De quelle fenêtre du parle,... 19/12/2006, 11h50
franckcl Je parle de fenetres de... 19/12/2006, 11h54
kmaniche Essaye de voir coté Form ->... 19/12/2006, 12h47
franckcl Pour le moment voila ce que... 19/12/2006, 14h17
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut Comment savoir si une fenetre modale est ouverte
    Bonjour,

    Mon application est du style MDI.
    J'ai une tache de fond qui tourne en permanence et dans cette tache j'aurais besoin de savoir si une fenetre modale est ouverte (et éventuellement connaitre sont titre)

    Merci à qui me dépannera.

    Franck

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Citation Envoyé par franckcl
    Bonjour,

    Mon application est du style MDI.
    J'ai une tache de fond qui tourne en permanence et dans cette tache j'aurais besoin de savoir si une fenetre modale est ouverte (et éventuellement connaitre sont titre)

    Merci à qui me dépannera.

    Franck
    De quelle fenêtre du parle, une de tes MDICHild.

    Sinon, pourquoi ne déclarer une variable, tu met cette variable à true quand tu vas afficher cette fenêtre, et à false quand elle se ferme.

  3. #3
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut
    Je parle de fenetres de dialogue comme des MessageBox, je ne peux donc pas utiliser de variable, et je n'ai pas de control sur ces boites de dialogue qui peuvent s'ouvrir dans l'application à tout moment.

  4. #4
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Citation Envoyé par franckcl
    Je parle de fenetres de dialogue comme des MessageBox, je ne peux donc pas utiliser de variable, et je n'ai pas de control sur ces boites de dialogue qui peuvent s'ouvrir dans l'application à tout moment.
    Essaye de voir coté Form -> Activate . une idée

  5. #5
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut
    Pour le moment voila ce que j'ai trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int i;
    bool DialogOpen;
     
    DialogOpen=false;
     
    for (i=0;i<Screen->FormCount;i++) 
    {
      if (Screen->Forms[i]->Name=="") DialogOpen=true;
    }
    Voila, la variable DialogOpen sera true lorsqu'un MessageBox s'ouvrira.

    Franck

  6. #6
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Citation Envoyé par franckcl
    Pour le moment voila ce que j'ai trouvé:

    int i;
    bool DialogOpen;

    DialogOpen=false;

    for (i=0;i<Screen->FormCount;i++)
    {
    if (Screen->Forms[i]->Name=="") DialogOpen=true;
    }

    Voila, la variable DialogOpen sera true lorsqu'un MessageBox s'ouvrira.

    Franck
    aulieu d'utiliser Forms[i] -> Name, pourquoi n'utilise tu pas Forms[i] -> ClassNameIs("Nom de la classe") ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      int i;
      bool DialogOpen;
     
      DialogOpen=false;
     
      for (i=0;i<Screen->FormCount;i++) 
        if(Screen->Forms[i] -> ClassNameIs("TMessageDlg") 
           DialogOpen=true;
    N'oublis pas les balises code

Discussions similaires

  1. [PPT-2003] VBA (PowerPoint) : Comment savoir si une forme libre est fermée ou ouverte ?
    Par thyduq dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 20/03/2012, 08h42
  2. comment savoir si une feuille excel est ouverte?
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2008, 10h54
  3. [Swing] comment savoir si une fenetre est ouverte ?
    Par uraxyd dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 31/12/2005, 11h55
  4. comment savoir si une fenetre est agrandi ou pas ?
    Par EssaiEncore dans le forum Langage
    Réponses: 3
    Dernier message: 07/11/2005, 11h42
  5. Réponses: 4
    Dernier message: 10/09/2002, 17h09

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