Astuces de recherche...
Home
- Accueil & nouveautés
- Les newsgroups VB
- Téléchargements
- L'équipe
- Nous contacter
- Liens
Rubriques
- Toutes les questions
- Affichage & graphismes
- Algorithmique
- API
- Base de registre
- Bases de données
- Contrôles
- Date & heure
- Déploiement
- Divers
- Erreurs & problèmes
- Fichiers & dossiers
- Généralités
- Impression
- Internet & mails
- Math
- Multimédia
- Réseaux
- Structures de données
- Texte & strings
- VB .Net
- VB Script
- VBA
- Windows

Question 109

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
Date de publication : 26 janvier 2003
Dernière modification : 25 février 2007
Rubriques : API
Mots-clés : API, hWnd, fenêtres, fenêtre, window, handle, message