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

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