Form affichée

Signaler
Messages postés
52
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
-
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
-
Bonjour,

Est-ce que quelqu'un sait quelle serait la syntaxe pour savoir quelle form est affichée à l'écran. Je voudrais savoir quelle form est en avant plan car j'en ai plusieurs qui sont loadées.

Merci d'avance

2 réponses

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
Bonjour,

Tu peux essayer ce code(il n'est pas de moi).



Private Declare Function GetForegroundWindow Lib "user32" () As Long

Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long

Private Declare Function GetWindowText Lib "user32" Alias
"GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal
cch As Long) As Long







Private Sub Command1_Click()

' Fenetre active lors de l'iteration precedente

Static LastActive As Long



' Fenetre active sur le systeme

' Utiliser GetActiveWindow pour connaitre la fenetre active dans l'application)

Dim Active As Long

Active = GetForegroundWindow



' Si c'est la même fenêtre qui est active, on quitte

If LastActive = Active Then Exit Sub



' On récupère la longueur du titre

Dim Length As Long: Length = GetWindowTextLength(Active) + 1



' Afin de pouvoir reserver une chaine de caractères assez grande

Dim Buffer As String: Buffer = Space$(Length)



' On récupère le titre

Length = GetWindowText(Active, Buffer, Length)



' On supprime le caractère \0 final

Buffer = Left$(Buffer, Length)



' On ajoute le titre dans la liste

List1.AddItem Buffer

MsgBox Buffer



' Et on mémorise la fenetre qui etait active

LastActive = Active

Form2.Show

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
Re bonjour,

Plus simple.



Private Sub Command1_Click()

Dim f As Form

For Each f In Forms

MsgBox f.Name

Next

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.