J'ai les fenetres 1-2-3-4-5 d'applications différentes sur mon écran.
je veux, d'un clilc sur Delphi mettre en avant la fenetre 2 et, juste sous elle, la fenetre 3 (en qque sorte, 3 est un fond d'écran pour 2).
La FAQ donne le moyen de faire passer une fenetre en premier plan, et ça fonctionne très bien
Mon idée est de le faire successivement pour la fenetre 3 puis pour la fenetre 2.
ce qui donne ceci
ça ne fonctionne pas, ni avec une boucle, ni en récrivant deux fonctions distinctes. Si vous avez une idée...
Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 procedure TForm1Devant; Var Proc,Nous:Integer; begin Proc:=GetWindowThreadProcessId(GetForeGroundWindow); Nous:=GetCurrentThreadID; If Proc<>Nous Then Begin // Nous ne sommes pas l'application en premier plan AttachThreadInput(Nous,Proc,True); SetForeGroundWindow(Haundle); AttachThreadInput(Nous,Proc,False); Application.BringToFront; End Else Begin // Nous sommes déjà en premier plan SetForeGroundWindow(Haundle); End; end; begin Haundle := findwindow(nil, 'mafenetre3'); TForm1Devant; sleep(1000); Haundle := findwindow(nil,'mafenetre2'); TForm1Devant; end.
merci.
Jean Pierre
Partager