Partager via


TTM_ADJUSTRECT message

Calcule le rectangle d’affichage du texte d’un contrôle d’info-bulle à partir de son rectangle de fenêtre, ou le rectangle de fenêtre d’info-bulle nécessaire pour afficher un rectangle d’affichage de texte spécifié.

Paramètres

wParam

Valeur qui spécifie l’opération à effectuer. Si la valeur est TRUE, lParam est utilisé pour spécifier un rectangle d’affichage de texte et il reçoit le rectangle de fenêtre correspondant. Si la valeur est FALSE, lParam est utilisé pour spécifier un rectangle de fenêtre et il reçoit le rectangle d’affichage de texte correspondant.

lParam

Structure RECT pour contenir un rectangle de fenêtre d’info-bulle ou un rectangle d’affichage de texte.

Valeur retournée

Retourne une valeur différente de zéro si le rectangle est correctement ajusté et retourne zéro si une erreur se produit.

Notes

Ce message est particulièrement utile lorsque vous souhaitez utiliser un contrôle d’info-bulle pour afficher le texte intégral d’une chaîne qui est généralement tronquée. Il est couramment utilisé avec les contrôles listview et treeview. Vous envoyez généralement ce message en réponse à un code de notification TTN_SHOW afin de pouvoir positionner correctement le contrôle d’info-bulle.

Le rectangle de fenêtre d’info-bulle est un peu plus grand que le rectangle d’affichage du texte qui limite la chaîne d’info-bulle. L’origine de la fenêtre est également décalée vers le haut et vers la gauche de l’origine du rectangle d’affichage du texte. Pour positionner le rectangle d’affichage du texte, vous devez calculer le rectangle de fenêtre correspondant et utiliser ce rectangle pour positionner l’info-bulle. TTM_ADJUSTRECT gère ce calcul pour vous.

Si vous définissez wParam sur TRUE, TTM_ADJUSTRECT prend la taille et la position du rectangle d’affichage du texte d’info-bulle souhaité, puis retourne la taille et la position de la fenêtre d’info-bulle nécessaires pour afficher le texte dans la position spécifiée. Si vous définissez wParam sur FALSE, vous pouvez spécifier un rectangle de fenêtre d’info-bulle et TTM_ADJUSTRECT retournera la taille et la position de son rectangle de texte.

Le fragment de code suivant illustre l’utilisation du message TTM_ADJUSTRECT pour positionner un contrôle d’info-bulle afin d’afficher le texte intégral de la chaîne d’un contrôle à la place d’une chaîne tronquée. La fonction GetMyItemRect définie par l’application retourne le rectangle de texte qui sera nécessaire pour afficher le texte de l’info-bulle directement sur la chaîne tronquée. Les détails de la façon dont cette fonction est implémentée dépendent du contrôle particulier. TTM_ADJUSTRECT est utilisé pour envoyer ce rectangle de texte au contrôle d’info-bulle. Il retourne un rectangle de fenêtre correctement dimensionné et positionné qui est ensuite utilisé pour positionner la fenêtre d’info-bulle.

case TTN_SHOW:

if (MyStringIsTruncated) {
    RECT rc;
    
    GetMyItemRect(&rc);
    SendMessage(hwndToolTip, TTM_ADJUSTRECT, TRUE, (LPARAM)&rc);
    SetWindowPos(hwndToolTip,
                 NULL,
                 rc.left, rc.top,
                 0, 0,
                 SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
} 

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Commctrl.h