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

Langage Delphi Discussion :

Affichage ShowMessage derriere fenetre


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Ingenieur developpement
    Inscrit en
    Septembre 2002
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingenieur developpement

    Informations forums :
    Inscription : Septembre 2002
    Messages : 175
    Points : 106
    Points
    106
    Par défaut Affichage ShowMessage derriere fenetre
    Bonjour,

    Dans mon appli, je clique sur un bouton pour faire un traitement et je fini par un ShowMessage. Le traitement peut durée quelques secondes. Ma fenêtre du ShowMessage se retrouve derrière celle ou il y a le bouton et je suis obligé de faire un ATL+TAB afin de pouvoir valider.

    Ceci m'arrive aussi avec d'autres fenetres. Elle viennent parfois se placer derrière ma fenêtre principale apres l'execution d'un traitement assez long.

    Quelqu'un saurait pourquoi et comment y remédier ?

  2. #2
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut
    Bonjour,
    C'est super louche cette histoire, as tu réussis à reproduire ce comportement dans une nouvelle application ?

    Aurais-tu un Timer ? si oui montre nous le code qui y est placé
    Utilises tu les mots SetFocus, Activate, Show, ShoModal dans ton application ? si oui montre nous les procédures qui contiennent ces mots.

    Avec ces données on devrait pouvoir s'en sortir

    bon courage !

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 138
    Points : 89
    Points
    89
    Par défaut
    Tu travaille sous quel environnement stp ?

  4. #4
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Est ce que ta fenêtre est en AlwaysOnTop ? Si c'est le cas, tu viens de trouver la raison.

    Pour le remède, essaye en désactivant les appels à setForegroundWindow() avec LockSetForegroundWindow()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      LockSetForegroundWindow( LSFW_LOCK ); // bloque l'appel à setForegroundWindow()
      ShowMessage('Test'); // affiche ta fenêtre
      LockSetForegroundWindow( LSFW_UNLOCK ); // rétablit l'appel à setForegroundWindow()
    end;

Discussions similaires

  1. Réponses: 11
    Dernier message: 17/05/2006, 08h39
  2. Affichage de la fenetre base de données
    Par C.M dans le forum Access
    Réponses: 11
    Dernier message: 16/05/2006, 16h18
  3. pb d'affichage de la fenetre principale
    Par amad206 dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2005, 09h23
  4. Réponses: 18
    Dernier message: 22/10/2004, 14h49
  5. Réponses: 2
    Dernier message: 09/10/2004, 11h35

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