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

 Delphi Discussion :

Comment rendre une fenêtre en premier plan et toujours accessible ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut Comment rendre une fenêtre en premier plan et toujours accessible ?
    Bonjour tout le monde !

    Voilà, j'ai créé un programme.

    - J'ai une fenêtre principale (Elle s'ouvre en début de programme) et elle est appelé en faisant un ShowModal.
    - Une fenêtre importante est ouverte en même temps que la fenêtre principale, elle est appelé en faisant un Show et je l'ai rendu visible en premier plan (formStyle = fsStayOnTop).
    => Cette fenêtre représente une information importante pour l'utilisateur, elle doit resté en premier plan et toujours être accessible.

    Le problème, c'est que lorsque l'utilisateur est sur sa fenêtre principale, il decide par exemple, d'aller dans le menu pour ouvrir une autre fenêtre.
    Je lance cette nouvelle fenêtre en ShowModal (car je ne veux pas que l'utilisateur puisse revenir sur la fenêtre principale tant qu'il n'a pas valider ou fermer la fenetre secondaire.

    Donc lorsque cette 2eme fenêtre est ouverte, la fenetre importante est toujours en premier plan, c'est impeccable, par contre, elle n'est plus accessible. (Dû au showModal de la fenêtre secondaire).

    Comment faire pour que ma fenêtre importante soit toujours visible au premier plan et qu'elle soit toujours accessible. Même lorsque j'ouvre une 2eme fenêtre via la fenêtre principale ?

    Merci pour vos réponses.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut;

    et si tu fais un Show à partir du OnActive de la 2ème fenêtre ça donne quoi?

  3. #3
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut
    C'est à dire un Show dans le OnActivate de ma 2ème fenêtre ???

    - J'effectue le Show (de ma fenetre importante) dans ma 1ere fenêtre : pour qu'elle soit tout de suite visible et accessible.

    - Si je fais un autre Show dans le OnActivate de ma 2ème fenêtre, je vais lancer la fenêtre importante 2 fois ?!!!!!

    Je comprend pas bien

  4. #4
    Membre éclairé Avatar de khaled-benloucif
    Inscrit en
    Octobre 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2008
    Messages : 74
    Par défaut
    Salut,
    Affiche la nouvelle fenêtre avec Show, affecte sont FormStyle à StayOnTop. juste aprés le Show affecte Enabled de la fiche principale à false.

    Lors de la fermeture de la nouvelle fiche, affecte Enabled de la fiche principale à true.

  5. #5
    Membre éclairé

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Par défaut
    Ca fonctionne en faisant ceci mais c'est quand même le bordel je trouve

    Car dans mon programme, lorsque je veux lancer un écran j'appelle une procédure qui se débrouille tout seul. (Cette procédure fait le create, le showmodal et le free)

    Si je veux effectuer ce que tu dis, il faut que je met la variable de la fenêtre en variable globale et que je gère à chaque fois l'appel et la destruction de la fenêtre, etc...

    Il n'y a pas d'autre possibilité ?

  6. #6
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Citation Envoyé par pepito62 Voir le message
    Car dans mon programme, lorsque je veux lancer un écran j'appelle une procédure qui se débrouille tout seul. (Cette procédure fait le create, le showmodal et le free)

    Si je veux effectuer ce que tu dis, il faut que je met la variable de la fenêtre en variable globale et que je gère à chaque fois l'appel et la destruction de la fenêtre, etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Procedure TForm1.onclick;
       try
          form1.enable:=false;
          //appel de la procédure de création de ta 3 forme 
       finally
          form1.enable:=True;
       end;

    aussi, tu peut crée 2 appli principal et secondaire qui contient ta forme crétique qui toujour afficher au premier plan (formStyle = fsStayOnTop), la pricipal appel la secondaire, récupére son handle, pour communique entre eux par les messages

Discussions similaires

  1. comment lancer une fenètre en arrièr plan
    Par moon93 dans le forum wxPython
    Réponses: 2
    Dernier message: 16/07/2007, 09h25
  2. [Débutant] Mettre une fenêtre au premier plan
    Par richard_sraing dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 07/06/2007, 11h02
  3. Réponses: 2
    Dernier message: 20/12/2006, 14h31
  4. Comment mettre une fenêtre au premier plan?
    Par damien99 dans le forum MFC
    Réponses: 11
    Dernier message: 30/08/2006, 11h37
  5. Mettre une fenêtre au premier plan
    Par Riko dans le forum Delphi
    Réponses: 4
    Dernier message: 20/06/2006, 19h30

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