Form affichée

cs_FASH Messages postés 52 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 2 nov. 2005 à 12:40
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 2 nov. 2005 à 14:08
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

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 nov. 2005 à 13:29
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.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 nov. 2005 à 14:08
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.
0
Rejoignez-nous