Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire la différence entre une fenêtre et un dialog

3 réponses
Avatar
binome.maillard
Bonjour,
Je chercher un moyen quelconque pour faire pouvoir faire la diff=E9rence
entre une fen=EAtre, un dialog et un contr=F4le en listant soit tous les
handle (par un GetWindow) ou autre.
Mon but final est de pouvoir effectuer un traitement uniquement sur
les fenetres. Je dois en effet savoir si une fen=EAtre est au dessus de
toutes les autres mais si un dialog est au dessus de cette fen=EAtre, le
dialog ne doit pas =EAtre pris en compte et je dois consid=E9rer la
fen=EAtre comme =E9tant au dessus d'o=F9 mon besoin de faire la diff=E9rence=

entre un dialog et une fen=EAtre.

Merci d'avance.

3 réponses

Avatar
Christian ASTOR
On 1 fév, 09:50, ""
wrote:

Je chercher un moyen quelconque pour faire pouvoir faire la différence
entre une fenêtre, un dialog et un contrôle en listant soit tous les
handle (par un GetWindow) ou autre.
Mon but final est de pouvoir effectuer un traitement uniquement sur
les fenetres. Je dois en effet savoir si une fenêtre est au dessus de
toutes les autres mais si un dialog est au dessus de cette fenêtre, le
dialog ne doit pas être pris en compte et je dois considérer la
fenêtre comme étant au dessus d'où mon besoin de faire la différen ce
entre un dialog et une fenêtre.



Une Dialog Box est une fenêtre.
Sinon, RealGetWindowClass() pour tester la classe ("#32770")
EnumWindows() pour lister les fenêtres top-level.
GetWindow(hWnd, GW_OWNER) ou GetParent() pour tester si owned
Avatar
Patrick Philippot
wrote:
Mon but final est de pouvoir effectuer un traitement uniquement sur
les fenetres. Je dois en effet savoir si une fenêtre est au dessus de
toutes les autres mais si un dialog est au dessus de cette fenêtre, le
dialog ne doit pas être pris en compte et je dois considérer la
fenêtre comme étant au dessus d'où mon besoin de faire la différence
entre un dialog et une fenêtre.



Bonjour,

Pour compléter les indications données par Christian, vous pouvez
également récupérer le style de la fenêtre (GetWindowLong) afin de vous
aider à faire le tri.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Sylvain
wrote on 01/02/2008 09:50:

Mon but final est de pouvoir effectuer un traitement uniquement sur
les fenetres. Je dois en effet savoir si une fenêtre est au dessus de
toutes les autres mais si un dialog est au dessus de cette fenêtre, le
dialog ne doit pas être pris en compte [...]



et si un dialog non-modal est en dessous d'une fenêtre ?
ou si le dessus est une fenêtre modale ? (alert ou 'dialog')
ou encore un dialog-palette ?

imho, la distinction n'existe factuellement que dans l'esprit du
développeur qui donne un sens à ces éléments.

Sylvain.