Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Nouveau Membre du Club
    Inscrit en
    décembre 2003
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 69
    Points : 32
    Points
    32

    Par défaut Shell au premier plan par rapport à application tierce

    Bonjour,

    Pour que ce soit plus clair, je vais donner un exemple de ce que je dois essayer de faire:
    Prenez un explorateur Windows et faites une copie d'un gros dossier. Normalement y'a la fenêtre de copie qui apparait avec une barre de progression. Cette fenêtre est au premier plan par rapport votre explorateur. Si maintenant j'ouvre une autre fenêtre (de n'importe quelle application), je ne vois plus la barre de progression. Si maintenant je repasse sur mon explorateur, la fenêtre de progression est toujours devant: elle n'est donc pas "always on top" mais elle reste au 1er plan par rapport à l'explorateur. Si je reste sur mon explorateur, la barre de progression est on top mais ne prend jamais le focus.

    L'idée est que je puisse faire ça avec shell sur une application tierce (donc pas l'application qui a créé le shell)
    Exemple: j'ai mon programme qui créé un shell (avec une barre de progression) et je souhaite être "on top" sur un autre programme (Word par exemple, que j'aurais désigné avec son PID)

    Je n'ai pas de problème pour trouver Word via son PID (via org.eclipse.swt.internal.win32.OS). Mon souci c'est la partie "on top".

    Actuellement j'ai fait un "listener" qui regarde toute les 2 secondes quelle est le pid de l'application au 1er plan dans Windows. Si c'est Word alors je fait un AttachThreadInput + SetForegroundWindow: mon shell passe bien devant.

    Le souci est que cette méthode prend le focus sur Word et donc toutes les 2 secondes mon shell passe devant et prend le focus.

    J'ai donc plusieurs question:
    - est-ce qu'il y a une autre méthode que celle que j'ai utilisé? (le setActive ne marche pas comme je le souhaite)
    - sinon comment faire pour que mon shell ne prenne pas le focus? (de la même manière que la barre de progression de copie de l'explorateur)

    Merci pour vos réponses

  2. #2
    Candidat au titre de Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    juillet 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2012
    Messages : 51
    Points : 12
    Points
    12

    Par défaut SWT.SYSTEM_MODAL

    salut,

    j'avais aussi un souci de fenêtre modale qui passait au second plan, car j'avais paramétré ma fenêtre en SWT.APPLICATION_MODAL et je l'ai changé en SWT.SYSTEM_MODAL.

    peut être que tu devrais chercher de se coté.

    cdt

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •