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.
Vues d'ensemble
Rubrique | 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. |
Utilisation des 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
Rubrique | Contenu |
---|---|
Header_ClearAllFilters | Efface tous les filtres d’un contrôle d’en-tête donné. Vous pouvez utiliser cette macro ou envoyer le message HDM_CLEARFILTER explicitement. |
Header_ClearFilter | Efface le filtre pour un contrôle d’en-tête donné. Vous pouvez utiliser cette macro ou envoyer le message HDM_CLEARFILTER explicitement. |
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 le message HDM_CREATEDRAGIMAGE explicitement. |
Header_DeleteItem | Supprime un élément d’un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_DELETEITEM explicitement. |
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 le message HDM_GETBITMAPMARGIN explicitement. |
Header_GetFocusedItem | Obtient l’élément dans un contrôle d’en-tête qui a le focus. Utilisez cette macro ou envoyez le message HDM_GETFOCUSEDITEM explicitement. |
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 le message HDM_GETIMAGELIST explicitement. |
Header_GetItem | Obtient des informations sur un élément dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_GETITEM explicitement. |
Header_GetItemCount | Obtient le nombre d’éléments d’un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_GETITEMCOUNT explicitement. |
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 pour un élément donné dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_GETITEMRECT explicitement. |
Header_GetOrderArray | Obtient l’ordre actuel des éléments de gauche à droite dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_GETORDERARRAY explicitement. |
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 le message HDM_GETOVERFLOWRECT explicitement. |
Header_GetStateImageList | Obtient le handle de la liste d’images qui a été défini pour un état de contrôle d’en-tête existant. |
Header_GetUnicodeFormat | Obtient l’indicateur de format de caractères Unicode pour le contrôle. Vous pouvez utiliser cette macro ou envoyer le message HDM_GETUNICODEFORMAT explicitement. |
Header_InsertItem | Insère un nouvel élément dans un contrôle d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_INSERTITEM explicitement. |
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 le message HDM_LAYOUT explicitement. |
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 le message HDM_ORDERTOINDEX explicitement. |
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 le message HDM_SETBITMAPMARGIN explicitement. |
Header_SetFilterChangeTimeout | Définit l’intervalle de délai 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 le message HDM_SETFILTERCHANGETIMEOUT explicitement. |
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 | Change 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 le message HDM_SETHOTDIVIDER explicitement. |
Header_SetImageList | Affecte une liste d’images à un contrôle d’en-tête existant. Vous pouvez utiliser cette macro ou envoyer le message HDM_SETIMAGELIST explicitement. |
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 le message HDM_SETITEM explicitement. |
Header_SetOrderArray | Définit l’ordre de gauche à droite des éléments d’en-tête. Vous pouvez utiliser cette macro ou envoyer le message HDM_SETORDERARRAY explicitement. |
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è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. Vous pouvez utiliser cette macro ou envoyer le message HDM_SETUNICODEFORMAT explicitement. |
Messages
Rubrique | Contenu |
---|---|
HDM_CLEARFILTER | Efface le filtre pour 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 dans 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 le nombre d’éléments d’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é pour 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 pour 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 des éléments de gauche à droite 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 de capacité 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ères 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 quel élément d’en-tête, le cas échéant, se trouve 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 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 | Change 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è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. Vous pouvez envoyer ce message explicitement ou utiliser la macro Header_SetUnicodeFormat . |
HDM_TRANSLATEACCELERATOR | Non implémenté. |
Notifications
Rubrique | Contenu |
---|---|
HDN_BEGINDRAG | Envoyé par un contrôle d’en-tête lorsqu’une opération de glissement a commencé sur l’un de ses éléments. Ce code de notification est envoyé uniquement par les contrôles d’en-tête qui sont 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 tandis 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 diviseur 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 du 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 glissement s’est terminée sur l’un de ses éléments. Ce code de notification est envoyé sous forme de 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 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 vous cliquez sur le bouton de filtre 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é sous forme de 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 qui sont 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 vous cliquez sur le bouton de dépassement de l’en-tête. 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 informer sa fenêtre parente des 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
Rubrique | 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. |