Qu'est-ce qu'un hWnd et à quoi cela sert-il ?
Un hWnd est un handle vers une fenêtre. En d'autres mots, c'est un nombre
entier généré par Windows permettant d'identifier de manière unique une
fenêtre. Vous ne pouvez, bien entendu, pas définir vous même le handle que
vous voulez donner à une fenêtre, que ce soit en mode création ou en mode
exécution.
Il est à remarquer que, au sens de windows, une fenêtre (window en
anglais) n'est pas la définition classique du conteneur de contrôles, connu
sous le nom de "Form" en vb. Ainsi, une case de texte, un bouton
de commande, ou une case à cocher sont autant d'exemple de fenêtre.
Les hWnd sont souvent employés par les API, afin de les renseigner sur la
fenêtre concernée. Prenons par exemple l'API SetWindowText qui permet de
changer le titre d'une fenêtre :
Option Explicit
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Sub Command1_Click()
Call SetWindowText(Me.hwnd, "Bonjour !")
End Sub
En paramètre de cette API est passé le hWnd du form afin de renseigner l'API
sur la fenêtre dont il faut changer le titre.
Pour aller plus loin
- Windowing, la documentation officielle concernant les fenêtres
- Windows Controls, la documentation de chaque contrôle standard
|