Partager via


BCM_GETIDEALSIZE message

Obtient la taille du bouton qui correspond le mieux à son texte et à son image, si une liste d’images est présente. Vous pouvez envoyer ce message explicitement ou utiliser la macro Button_GetIdealSize .

Paramètres

wParam

Non utilisé ; doit être égal à zéro.

lParam

Pointeur vers une structure SIZE qui reçoit la taille souhaitée du bouton, y compris le texte et la liste d’images, le cas échéant. L’application appelante est responsable de l’allocation de cette structure. Définissez les membres cx et cy sur zéro pour que la hauteur et la largeur idéales soient retournées dans la structure SIZE . Pour spécifier une largeur de bouton, définissez le membre cx sur la largeur de bouton souhaitée. Le système calcule la hauteur idéale pour cette largeur et la retourne dans le membre cy .

Valeur retournée

Si le message réussit, il retourne TRUE. Sinon, elle retourne FALSE.

Notes

Notes

Si aucune largeur de bouton spéciale n’est souhaitée, vous devez définir les deux membres de SIZE sur zéro pour calculer et retourner la hauteur et la largeur idéales. Si la valeur du membre cx est supérieure à zéro, cette valeur est considérée comme la largeur de bouton souhaitée, et la hauteur idéale pour cette largeur est calculée et retournée dans le membre cy .

Ce message s’applique le plus à PushButtons. Lorsqu’il est envoyé à un PushButton, le message récupère le rectangle englobant requis pour afficher le texte du bouton. En outre, si pushbutton a une liste d’images, le rectangle englobant est également dimensionné pour inclure l’image du bouton.

Lorsqu’il est envoyé à un bouton d’un autre type, la taille du rectangle de fenêtre du contrôle est récupérée.

Notes

Pour utiliser ce message, vous devez fournir un manifeste spécifiant Comclt32.dll version 6.0. Pour plus d’informations sur les manifestes, consultez Activation des styles visuels.

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