Partager via


Contrôle d’en-tête

Cette section contient des informations sur les éléments de programmation utilisés avec les contrôles d’en-tête.

Aperçus

Sujet Contenu
à propos des contrôles d’en-tête Un contrôle d’en-tête est une fenêtre qui est généralement positionnée au-dessus des colonnes de texte ou de nombres. Il contient un titre pour chaque colonne et peut être divisé en parties.
à l’aide de contrôles d’en-tête Cette rubrique fournit des détails d’implémentation et des exemples de code pour les contrôles d’en-tête.

Macros

Sujet Contenu
Header_ClearAllFilters Efface tous les filtres d’un contrôle d’en-tête donné. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_CLEARFILTER.
Header_ClearFilter Efface le filtre d’un contrôle d’en-tête donné. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_CLEARFILTER.
Header_CreateDragImage Crée une version transparente d’une image d’élément dans un contrôle d’en-tête existant. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_CREATEDRAGIMAGE.
Header_DeleteItem Supprime un élément d’un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_DELETEITEM.
Header_EditFilter Déplace le focus d’entrée vers la zone d’édition lorsqu’un bouton de filtre a le focus.
Header_GetBitmapMargin Obtient la largeur de la marge (en pixels) d’une bitmap dans un contrôle d’en-tête existant. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETBITMAPMARGIN.
Header_GetFocusedItem Obtient l’élément d’un contrôle d’en-tête qui a le focus. Utilisez cette macro ou envoyez explicitement le message HDM_GETFOCUSEDITEM.
Header_GetImageList Obtient le handle de la liste d’images qui a été définie pour un contrôle d’en-tête existant. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETIMAGELIST.
Header_GetItem Obtient des informations sur un élément dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETITEM.
Header_GetItemCount Obtient un nombre d’éléments dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETITEMCOUNT.
Header_GetItemDropDownRect Obtient les coordonnées du bouton déroulant d’un élément spécifié dans un contrôle d’en-tête. Le contrôle d’en-tête doit être de type HDF_SPLITBUTTON. Utilisez cette macro ou envoyez explicitement le message HDM_GETITEMDROPDOWNRECT.
Header_GetItemRect Obtient le rectangle englobant d’un élément donné dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETITEMRECT.
Header_GetOrderArray Obtient l’ordre actuel de gauche à droite des éléments dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETORDERARRAY.
Header_GetOverflowRect Obtient les coordonnées de la zone de dépassement de liste déroulante pour un contrôle d’en-tête spécifié. Le contrôle d’en-tête doit être de type HDF_SPLITBUTTON. Utilisez cette macro ou envoyez explicitement le message HDM_GETOVERFLOWRECT.
Header_GetStateImageList Obtient le handle de la liste d’images qui a été définie pour un état de contrôle d’en-tête existant.
Header_GetUnicodeFormat Obtient l’indicateur de format de caractère Unicode pour le contrôle. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_GETUNICODEFORMAT.
Header_InsertItem Insère un nouvel élément dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_INSERTITEM.
Header_Layout Récupère la taille et la position correctes d’un contrôle d’en-tête dans la fenêtre parente. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_LAYOUT.
Header_OrderToIndex Récupère une valeur d’index pour un élément en fonction de son ordre dans le contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_ORDERTOINDEX.
Header_SetBitmapMargin Définit la largeur de la marge d’une bitmap dans un contrôle d’en-tête existant. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETBITMAPMARGIN.
Header_SetFilterChangeTimeout Définit l’intervalle de délai d’expiration entre le moment où une modification a lieu dans les attributs de filtre et la publication d’une notification HDN_FILTERCHANGE. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETFILTERCHANGETIMEOUT.
Header_SetFocusedItem Définit le focus sur un élément spécifié dans un contrôle d’en-tête. Utilisez cette macro ou envoyez explicitement le message HDM_SETFOCUSEDITEM.
Header_SetHotDivider Modifie la couleur d’un séparateur entre les éléments d’en-tête pour indiquer la destination d’une opération de glisser-déplacer externe. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETHOTDIVIDER.
Header_SetImageList Affecte une liste d’images à un contrôle d’en-tête existant. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETIMAGELIST.
Header_SetItem Définit les attributs de l’élément spécifié dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETITEM.
Header_SetOrderArray Définit l’ordre de gauche à droite des éléments d’en-tête. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETORDERARRAY.
Header_SetStateImageList Affecte une liste d’images à un état de contrôle d’en-tête existant.
Header_SetUnicodeFormat Définit l’indicateur de format de caractère 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 de devoir recréer le contrôle. Vous pouvez utiliser cette macro ou envoyer explicitement le message HDM_SETUNICODEFORMAT.

Messages

Sujet Contenu
HDM_CLEARFILTER Efface le filtre d’un contrôle d’en-tête donné. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_ClearFilter.
HDM_CREATEDRAGIMAGE Crée une version semi-transparente de l’image d’un élément à utiliser comme image de glissement. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_CreateDragImage.
HDM_DELETEITEM Supprime un élément d’un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_DeleteItem.
HDM_EDITFILTER Déplace le focus d’entrée vers la zone d’édition lorsqu’un bouton de filtre a le focus.
HDM_GETBITMAPMARGIN Obtient la largeur de la marge bitmap pour un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetBitmapMargin.
HDM_GETFOCUSEDITEM Obtient l’élément d’un contrôle d’en-tête qui a le focus. Envoyez ce message explicitement ou à l’aide de la macro Header_GetFocusedItem. Une fenêtre reçoit ce message via sa fonction WindowProc.
HDM_GETIMAGELIST Obtient le handle de la liste d’images qui a été définie pour un contrôle d’en-tête existant. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetImageList ou Header_GetStateImageList.
HDM_GETITEM Obtient des informations sur un élément dans un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetItem.
HDM_GETITEMCOUNT Obtient un nombre d’éléments dans un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetItemCount.
HDM_GETITEMDROPDOWNRECT Obtient le rectangle englobant du bouton fractionné d’un élément d’en-tête avec un style HDF_SPLITBUTTON. Envoyez ce message explicitement ou à l’aide de la macroHeader_GetItemDropDownRect.
HDM_GETITEMRECT Obtient le rectangle englobant d’un élément donné dans un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetItemRect.
HDM_GETORDERARRAY Obtient l’ordre actuel de gauche à droite des éléments dans un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetOrderArray.
HDM_GETOVERFLOWRECT Obtient le rectangle englobant du bouton de dépassement lorsque le style HDS_OVERFLOW est défini sur le contrôle d’en-tête et que le bouton de dépassement est visible. Envoyez ce message explicitement ou à l’aide de la macroHeader_GetOverflowRect.
HDM_GETUNICODEFORMAT Obtient l’indicateur de format de caractère Unicode pour le contrôle. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_GetUnicodeFormat.
HDM_HITTEST Teste un point pour déterminer l’élément d’en-tête, le cas échéant, au point spécifié.
HDM_INSERTITEM Insère un nouvel élément dans un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_InsertItem.
HDM_LAYOUT Récupère les informations utilisées pour définir la taille et la position du contrôle d’en-tête dans le rectangle cible de la fenêtre parente. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_Layout.
HDM_ORDERTOINDEX Récupère une valeur d’index pour un élément en fonction de son ordre dans le contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_OrderToIndex.
HDM_SETBITMAPMARGIN Définit la largeur de la marge, spécifiée en pixels, d’une bitmap dans un contrôle d’en-tête existant. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetBitmapMargin.
HDM_SETFILTERCHANGETIMEOUT Définit l’intervalle de délai d’expiration entre le moment où une modification a lieu dans les attributs de filtre et la publication d’une notification HDN_FILTERCHANGE. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetFilterChangeTimeout.
HDM_SETFOCUSEDITEM Définit le focus sur un élément spécifié dans un contrôle d’en-tête. Envoyez ce message explicitement ou à l’aide de la macro Header_SetFocusedItem.
HDM_SETHOTDIVIDER Modifie la couleur d’un séparateur entre les éléments d’en-tête pour indiquer la destination d’une opération de glisser-déplacer externe. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetHotDivider.
HDM_SETIMAGELIST Affecte une liste d’images à un contrôle d’en-tête existant. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetImageList ou Header_SetStateImageList.
HDM_SETITEM Définit les attributs de l’élément spécifié dans un contrôle d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetItem.
HDM_SETORDERARRAY Définit l’ordre de gauche à droite des éléments d’en-tête. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetOrderArray.
HDM_SETUNICODEFORMAT Définit l’indicateur de format de caractère 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 de devoir recréer le contrôle. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetUnicodeFormat.
HDM_TRANSLATEACCELERATOR Non implémenté.

Notifications

Sujet Contenu
HDN_BEGINDRAG Envoyé par un contrôle d’en-tête lorsqu’une opération de glisser a commencé sur l’un de ses éléments. Ce code de notification est envoyé uniquement par les contrôles d’en-tête définis sur le style HDS_DRAGDROP. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_BEGINFILTEREDIT Avertit la fenêtre parente d’un contrôle d’en-tête qu’une modification de filtre a commencé. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_BEGINTRACK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur a commencé à faire glisser un séparateur dans le contrôle (autrement dit, l’utilisateur a appuyé sur le bouton gauche de la souris pendant que le curseur de la souris se trouve sur un séparateur dans le contrôle d’en-tête). Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_DIVIDERDBLCLICK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur a double-cliqué sur la zone de séparateur du contrôle. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_DROPDOWN Envoyé par un contrôle d’en-tête à son parent lorsque la flèche déroulante sur le contrôle d’en-tête est cliquée. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_ENDDRAG Envoyé par un contrôle d’en-tête lorsqu’une opération de glisser s’est terminée sur l’un de ses éléments. Ce code de notification est envoyé en tant que message WM_NOTIFY. Seuls les contrôles d’en-tête définis sur le style HDS_DRAGDROP envoient cette notification.
HDN_ENDFILTEREDIT Avertit la fenêtre parente d’un contrôle d’en-tête qu’une modification de filtre s’est terminée. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_ENDTRACK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur a terminé de faire glisser un séparateur. Ce code de notification envoyé sous la forme d’un message WM_NOTIFY.
HDN_FILTERBTNCLICK Avertit la fenêtre parente du contrôle d’en-tête lorsque le bouton de filtre est cliqué ou en réponse à un message HDM_SETITEM.
HDN_FILTERCHANGE Avertit la fenêtre parente du contrôle d’en-tête que les attributs d’un filtre de contrôle d’en-tête sont modifiés ou modifiés.
HDN_GETDISPINFO Envoyé au propriétaire d’un contrôle d’en-tête lorsque le contrôle a besoin d’informations sur un élément d’en-tête de rappel. Ce code de notification est envoyé en tant que message WM_NOTIFY.
HDN_ITEMCHANGED Avertit la fenêtre parente d’un contrôle d’en-tête que les attributs d’un élément d’en-tête ont changé. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_ITEMCHANGING Avertit la fenêtre parente d’un contrôle d’en-tête que les attributs d’un élément d’en-tête sont sur le point de changer. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_ITEMCLICK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur a cliqué sur le contrôle. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_ITEMDBLCLICK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur a double-cliqué sur le contrôle. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY. Seuls les contrôles d’en-tête définis sur le style HDS_BUTTONS envoient cette notification.
HDN_ITEMKEYDOWN Avertit la fenêtre parente d’un contrôle d’en-tête qu’une touche a été enfoncée avec un élément sélectionné. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_ITEMSTATEICONCLICK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur a cliqué sur l’icône d’état d’un élément.
HDN_OVERFLOWCLICK Envoyé par un contrôle d’en-tête à son parent lorsque le bouton de dépassement de l’en-tête est cliqué. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
HDN_TRACK Avertit la fenêtre parente d’un contrôle d’en-tête que l’utilisateur fait glisser un séparateur dans le contrôle d’en-tête. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
NM_CUSTOMDRAW (en-tête) Envoyé par un contrôle d’en-tête pour notifier sa fenêtre parente sur les opérations de dessin. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
NM_RCLICK (en-tête) Avertit la fenêtre parente d’un contrôle d’arborescence que l’utilisateur a cliqué sur le bouton droit de la souris dans le contrôle. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY.
NM_RELEASEDCAPTURE (en-tête) Avertit la fenêtre parente d’un contrôle d’en-tête 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.

Constantes

Sujet Contenu
styles de contrôle d’en-tête Les contrôles d’en-tête ont un certain nombre de styles, décrits dans cette section, qui déterminent l’apparence et le comportement du contrôle. Vous définissez les styles initiaux lorsque vous créez le contrôle d’en-tête.