Informations de référence sur les contrôles généraux

Cette section contient des informations de référence sur les éléments de programmation qui s’appliquent à plusieurs contrôles, pas seulement à un contrôle spécifique. Il existe des fonctions, des macros, des messages, des notifications et des structures que la plupart des contrôles prennent en charge. Par exemple, la plupart des contrôles utilisent les notifications NM_HOVER pour traiter les clics de souris.

Vues d'ensemble

Rubrique Contenu
À propos des contrôles courants Les contrôles communs sont un ensemble de fenêtres implémentées par la bibliothèque de contrôles commune, qui est une DLL incluse avec le système d’exploitation Windows.
FAQ sur les contrôles courants Ce FORUM aux questions fournit des réponses à certaines questions courantes sur les contrôles courants.

Fonctions

Rubrique Contenu
DoReaderMode Active le mode lecteur dans une fenêtre.
DPA_Clone Duplique un tableau de pointeurs dynamique (DPA).
DPA_Create Crée un DPA.
DPA_CreateEx Crée un DPA à l’aide d’une taille et d’un emplacement de tas spécifiés.
DPA_DeleteAllPtrs Supprime tous les éléments d’un DPA et réduit la DPA en conséquence.
DPA_DeletePtr Supprime un élément d’un DPA. La DPA diminue si nécessaire pour prendre en charge l’élément supprimé.
DPA_Destroy Libère un tableau de pointeurs dynamiques (DPA).
DPA_DestroyCallback Appelle pfnCB sur chaque élément de la DPA, puis libère la DPA.
DPA_EnumCallback Itère via le tableau de pointeurs dynamiques (DPA) et appelle pfnCB sur chaque élément.
DPA_GetPtr Obtient un élément à partir d’un DPA.
DPA_GetPtrIndex Obtient l’index d’un élément correspondant trouvé dans un DPA.
DPA_GetSize Obtient la taille d’un DPA.
DPA_Grow Modifie le nombre de pointeurs dans un DPA.
DPA_InsertPtr Insère un nouvel élément à une position spécifiée dans un DPA. Si nécessaire, la DPA se développe pour prendre en charge le nouvel élément.
DPA_LoadStream Charge la DPA à partir d’un flux en appelant la fonction de rappel spécifiée pour lire chaque élément.
DPA_Merge Combine le contenu de deux DPA.
DPA_SaveStream Enregistre la DPA dans un flux en écrivant un en-tête, puis en appelant la fonction de rappel spécifiée pour écrire chaque élément.
DPA_Search Recherche un élément dans un DPA.
DPA_SetPtr Affecte une valeur à un élément dans un DPA.
DPA_Sort Trie les éléments dans un tableau de pointeurs dynamiques (DPA).
DrawShadowText Dessine le texte qui a une ombre.
DrawTextExPrivWrap Dessine le texte mis en forme dans le rectangle spécifié. Cette fonction encapsule un appel à DrawTextEx.
DrawTextWrap Dessine le texte mis en forme dans le rectangle spécifié. Il met en forme le texte en fonction de la méthode spécifiée (développement des onglets, caractères de justification, lignes cassantes, etc.). Cette fonction encapsule un appel à DrawText.
DSA_Clone Duplique un tableau de structure dynamique (DSA).
DSA_Create Crée un DSA.
DSA_DeleteAllItems Supprime tous les éléments d’un DSA.
DSA_DeleteItem Supprime un élément d’un DSA.
DSA_Destroy Libère un DSA.
DSA_DestroyCallback Itère via un DSA, appelant une fonction de rappel spécifiée sur chaque élément. À la fin du tableau, la DSA est libérée.
DSA_EnumCallback Itère via la DSA et appelle pfnCB sur chaque élément.
DSA_GetItem Obtient un élément à partir d’un DSA.
DSA_GetItemPtr Obtient un pointeur vers un élément à partir d’un DSA.
DSA_GetSize Obtient la taille de la DSA.
DSA_InsertItem Insère un nouvel élément dans un DSA. Si nécessaire, la DSA se développe pour prendre en charge le nouvel élément.
DSA_SetItem Définit le contenu d’un élément dans un DSA.
DSA_Sort Trie les éléments d’un DSA.
ExtTextOutWrap Dessine du texte à l’aide de la police, de la couleur d’arrière-plan et de la couleur de texte actuellement sélectionnées. Vous pouvez éventuellement fournir des dimensions à utiliser pour le découpage, l’opacité ou les deux. Cette fonction encapsule un appel à ExtTextOut.
GetEffectiveClientRect Calcule les dimensions d’un rectangle dans la zone cliente qui contient tous les contrôles spécifiés.
GetMUILanguage Obtient la langue actuellement utilisée par les contrôles communs pour un processus particulier.
GetTextExtentPoint32Wrap Calcule la largeur et la hauteur de la chaîne de texte spécifiée. Cette fonction encapsule un appel à GetTextExtentPoint.
InitCommonControls Inscrit et initialise certaines classes de fenêtres de contrôle courantes. Cette fonction est obsolète. Les nouvelles applications doivent utiliser la fonction InitCommonControlsEx .
InitCommonControlsEx Enregistre des classes de contrôle communes spécifiques à partir de la DLL de contrôle commun.
InitMUILanguage Permet à une application de spécifier une langue à utiliser avec les contrôles communs qui est différente de la langue système.
LoadIconMetric Charge une ressource d’icône spécifiée avec une métrique système spécifiée par le client.
LoadIconWithScaleDown Charge une icône. Si l’icône n’est pas d’une taille standard, cette fonction effectue un scale-down d’une image plus grande au lieu d’effectuer un scale-up d’une image plus petite.
MirrorIcon Inverse les icônes (miroirs) afin qu’elles s’affichent correctement sur un contexte d’appareil mis en miroir.
PFNDACOMPARE Définit le prototype de la fonction de comparaison utilisée par DSA_Sort.
PFNDACOMPARECONST Définit le prototype de la fonction de comparaison utilisée par DSA_Sort lorsque les éléments comparés sont des objets constants.
PFNDAENUMCALLBACK Définit le prototype de la fonction de rappel utilisée par les fonctions DSA et DPA.
PFNDAENUMCALLBACKCONST Définit le prototype de la fonction de rappel utilisée par les fonctions DSA et DPA lorsque les éléments impliqués sont des pointeurs vers des données constantes.
PFNDPACOMPARE Définit le prototype de la fonction compare utilisée par DPA_Sort et DPA_Search.
PFNDPACOMPARECONST Définit le prototype de la fonction compare utilisée par DPA_Sort ou DPA_Search lorsque les éléments comparés sont des objets constants.
PFNDPAENUMCALLBACK Définit le prototype de la fonction de rappel utilisée par DPA_EnumCallback.
PFNDPAMERGE Définit le prototype de la fonction de fusion utilisée par DPA_Merge.
PFNDPAMERGECONST Définit le prototype de la fonction de fusion utilisée par DPA_Merge, à l’aide de valeurs constantes.
PFNDPASTREAM Définit le prototype de la fonction de rappel utilisée par DPA_LoadStream et DPA_SaveStream.
PFNDSAENUMCALLBACK Définit le prototype de la fonction de rappel utilisée par DSA_DestroyCallback.
ReaderScroll Fonction de rappel définie par l’application utilisée lorsque le pointeur de la souris est déplacé dans la partie de la fenêtre en mode lecteur qui a été déclarée comme zone de défilement active.
ShowHideMenuCtl Définit ou supprime l’attribut de marque case activée de l’élément de menu spécifié et affiche ou masque le contrôle correspondant. La fonction ajoute une marque case activée à l’élément de menu spécifié s’il n’en a pas, puis affiche le contrôle correspondant. Si l’élément de menu a déjà une marque case activée, la fonction supprime la marque case activée et masque le contrôle correspondant.
Str_GetPtr Copie une chaîne d’une mémoire tampon vers une autre.
Str_SetPtrW Définit ppszCurrent sur une copie de pszNew et libère la valeur précédente, si nécessaire.
TranslateDispatch Utilisé par le client de la fonction DoReaderMode pour intercepter et gérer explicitement les messages windows ciblés pour la zone de défilement de la fenêtre en mode lecteur. Il s’agit d’une fonction de rappel définie par l’application.

Macros

Rubrique Contenu
DPA_AppendPtr Insère un nouvel élément à la fin d’un DPA.
DPA_FastDeleteLastPtr Supprime le dernier pointeur d’un DPA.
DPA_FastGetPtr Obtient la valeur du pointeur spécifié dans le DPA.
DPA_GetPtrCount Obtient le nombre de pointeurs dans un DPA.
DPA_GetPtrPtr Obtient le pointeur vers le tableau de pointeurs interne d’un DPA.
DPA_SetPtrCount Définit le nombre de pointeurs dans un DPA.
DPA_SortedInsertPtr Insère un nouvel élément avant ou après un élément existant spécifié.
DSA_AppendItem Ajoute un nouvel élément à la fin d’un DSA.
DSA_GetItemCount Obtient le nombre d’éléments dans un DSA.
FORWARD_WM_NOTIFY Envoie ou publie le message WM_NOTIFY .
HANDLE_WM_NOTIFY Appelle une fonction qui traite le message WM_NOTIFY .
INDEXTOSTATEIMAGEMASK Prépare l’index d’une image d’état afin qu’un contrôle arborescence ou list-view puisse utiliser l’index pour récupérer l’image d’état d’un élément.

Messages

Rubrique Contenu
CCM_DPISCALE Active la mise à l’échelle automatique des points hauts par pouce (ppp) dans les contrôles Tree-View, List-View, ComboBoxEx, Header controls, Buttons, Toolbar controls, Animation controls et Image Lists.
CCM_GETUNICODEFORMAT Obtient l’indicateur de format de caractères Unicode pour le contrôle.
CCM_GETVERSION Obtient le numéro de version d’un contrôle défini par le message CCM_SETVERSION le plus récent.
CCM_SETUNICODEFORMAT Définit l’indicateur de format de caractères Unicode pour le contrôle. Ce message vous permet de modifier le jeu de caractères utilisé par le contrôle au moment de l’exécution plutôt que d’avoir à recréer le contrôle.
CCM_SETVERSION Ce message est utilisé pour informer le contrôle que vous attendez un comportement associé à une version particulière.
CCM_SETWINDOWTHEME Définit le style visuel d’un contrôle.
WM_NOTIFY Envoyé par un contrôle commun à sa fenêtre parente lorsqu’un événement s’est produit ou que le contrôle nécessite des informations.
WM_NOTIFYFORMAT Détermine si une fenêtre accepte les structures ANSI ou Unicode dans le message de notification WM_NOTIFY . WM_NOTIFYFORMAT messages sont envoyés d’un contrôle commun à sa fenêtre parente et de la fenêtre parente au contrôle commun.

Notifications

Rubrique Contenu
NM_CHAR Le code de notification NM_CHAR est envoyé par un contrôle lorsqu’une clé de caractère est traitée. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_CUSTOMDRAW Avertit la fenêtre parente d’un contrôle des opérations de dessin personnalisées. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_CUSTOMTEXT Avertit la fenêtre parente d’un contrôle des opérations de texte personnalisées. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_FONTCHANGED Envoyé par un contrôle d’affichage de liste lorsque le contrôle a modifié une police. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_GETCUSTOMSPLITRECT Envoyé par un contrôle de bouton à son parent pour obtenir des mesures pour les deux rectangles qui composent le bouton fractionné. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_HOVER Envoyé par un contrôle lorsque la souris pointe sur un élément. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_KEYDOWN Envoyé par un contrôle lorsque le contrôle a le focus clavier et que l’utilisateur appuie sur une touche. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_KILLFOCUS Avertit la fenêtre parente d’un contrôle que le contrôle a perdu le focus d’entrée. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_LDOWN Avertit la fenêtre parente d’un contrôle que le bouton gauche de la souris a été enfoncé. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_NCHITTEST Envoyé par un contrôle de barre d’armature lorsque le contrôle reçoit un message WM_NCHITTEST . Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_OUTOFMEMORY Avertit la fenêtre parente d’un contrôle que le contrôle n’a pas pu terminer une opération, car il n’y avait pas suffisamment de mémoire disponible. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_RDOWN Actuellement non pris en charge.
NM_RELEASEDCAPTURE Avertit la fenêtre parente d’un contrôle que le contrôle libère la capture de la souris. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_RETURN Avertit la fenêtre parente d’un contrôle que le contrôle a le focus d’entrée et que l’utilisateur a appuyé sur la touche ENTRÉE. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_SETCURSOR Avertit la fenêtre parente d’un contrôle que le contrôle définit le curseur en réponse à un message NM_SETCURSOR . Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_SETFOCUS Avertit la fenêtre parente d’un contrôle que le contrôle a reçu le focus d’entrée. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_THEMECHANGED Avertit la fenêtre parente d’un contrôle que le thème a changé. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_TOOLTIPSCREATED Avertit la fenêtre parente d’un contrôle que le contrôle a créé un contrôle d’info-bulle. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .
NM_TVSTATEIMAGECHANGING Envoyé par un contrôle arborescence à sa fenêtre parente que l’image d’état est en train de changer. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .

Structures

Rubrique Contenu
COLORSCHEME Contient des informations pour le dessin de boutons dans une barre d’outils ou une barre d’outils.
DPASTREAMINFO Contient un élément de flux utilisé par la fonction de rappel PFNDPASTREAM .
INITCOMMONCONTROLSEX Transporte les informations utilisées pour charger les classes de contrôle courantes à partir de la bibliothèque de liens dynamiques (DLL). Cette structure est utilisée avec la fonction InitCommonControlsEx .
NMCHAR Contient les informations utilisées avec les messages de notification de caractères.
NMCUSTOMSPLITRECTINFO Contient des informations sur les deux rectangles d’un bouton fractionné. Envoyé avec la notification NM_GETCUSTOMSPLITRECT .
NMCUSTOMTEXT Contient des informations utilisées avec la notification texte personnalisée.
NMHDR Contient des informations sur un message de notification.
NMKEY Contient les informations utilisées avec les messages de notification clés.
NMMOUSE Contient les informations utilisées avec les messages de notification de souris.
NMOBJECTNOTIFY Contient les informations utilisées avec les codes de notification TBN_GETOBJECT, TCN_GETOBJECT et PSN_GETOBJECT .
NMTOOLTIPSCREATED Contient les informations utilisées avec NM_TOOLTIPSCREATED code de notification.
READERMODEINFO Contient les informations requises pour initialiser la fonction DoReaderMode .

Constantes

Rubrique Contenu
Constantes CDRF Ces constantes sont utilisées comme valeurs de retour par un contrôle en réponse à un code de notification NM_CUSTOMDRAW .
Styles Cette section répertorie les styles de contrôle courants. Sauf indication contraire, ces styles s’appliquent aux contrôles d’en-tête, aux contrôles de barre d’outils et aux fenêtres status.
classes de fenêtre Cette section répertorie les noms de classes de fenêtre fournis par la bibliothèque de contrôles commune.