Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java > SWT/JFace
SWT/JFace Forum d'entraide pour les API SWT/JFace. Avant de poster -> FAQ SWT/JFace
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/08/2012, 09h21   #1
polonain2
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 67
Points : 31
Points : 31
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
polonain2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2012, 09h42   #2
Gaspard22
Invité régulier
 
Homme
Développeur Java
Inscription : juillet 2012
Messages : 38
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 : 38
Points : 8
Points : 8
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
Gaspard22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h47.


 
 
 
 
Partenaires

Hébergement Web