Méthode ITextServices ::TxGetNaturalSize (textserv.h)
Permet à un contrôle d’être redimensionné afin qu’il s’adapte correctement à son contenu.
Syntaxe
HRESULT TxGetNaturalSize(
DWORD dwAspect,
HDC hdcDraw,
HDC hicTargetDev,
DVTARGETDEVICE *ptd,
DWORD dwMode,
const SIZEL *psizelExtent,
[in, out] LONG *pwidth,
[in, out] LONG *pheight
);
Paramètres
dwAspect
Type : DWORD
Aspect du dessin. Il peut s’agir de l’une des valeurs de l’énumération DVASPECT .
hdcDraw
Type : HDC
Contexte de l’appareil dans lequel le dessin se produit.
hicTargetDev
Type : HDC
Contexte de l’appareil pour lequel le texte doit être mis en forme (autrement dit, pour WYSIWYG).
ptd
Type : DVTARGETDEVICE*
Plus d’informations sur l’appareil cible.
dwMode
Type : DWORD
Type d’ajustement demandé. Il peut s’agir de l’un des éléments suivants.
Valeur | Signification |
---|---|
|
Utilisez des unités de métriques anglaises (EMU) au lieu de pixels comme unités de mesure pour les paramètres de cette méthode. |
|
Redimensionnez le contrôle pour qu’il s’adapte au texte entier en le mettant en forme à la largeur passée. L’objet de services de texte renvoie la hauteur du texte entier et la largeur de la ligne la plus large.
Par exemple, cette opération doit être effectuée lorsque l’utilisateur double-clique sur l’un des handles du contrôle. |
|
Redimensionnez le contrôle afin qu’il corresponde au contenu mis en retrait. |
|
Redimensionnez le contrôle afin qu’il corresponde au contenu en retrait et à l’espace blanc de fin. |
|
Redimensionnez le contrôle de façon à ce qu’il s’adapte à un contenu sans fin et à un espace blanc de fin. |
|
Pour un contrôle de texte brut, incluez la hauteur du retour chariot final lors du calcul de la taille. |
|
Redimensionnez le contrôle pour afficher un nombre intégral de lignes (aucune ligne n’est coupée). Mettez en forme suffisamment de texte pour remplir la largeur et la hauteur passées, puis renvoyer une hauteur arrondie à la limite de ligne la plus proche.
Note La largeur et la hauteur passées et retournées correspondent au rectangle d’affichage. L’hôte doit se réajuster au rectangle client si nécessaire. Étant donné que ces valeurs représentent l’étendue de l’objet texte, elles sont d’entrée et de sortie en coordonnées HIMETRIC (chaque unité HIMETRIC est de 0,01 millimètre), et la mesure n’inclut aucun facteur de zoom. Pour une présentation du facteur de zoom, consultez TxGetExtent.
|
psizelExtent
Type : const SIZEL*
Non pris en charge.
[in, out] pwidth
Type : LONG*
Largeur du raccord défini par dwMode.
[in, out] pheight
Type : LONG*
Hauteur du raccord défini par dwMode.
Valeur retournée
Type : HRESULT
Si la méthode réussit, la valeur de retour est S_OK.
Si les services de texte n’ont pas pu activer l’objet, la valeur de retour est l’un des codes HRESULT suivants. Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs dans COM.
Code de retour | Description |
---|---|
|
Impossible de déterminer la taille correcte. |
|
Un ou plusieurs arguments ne sont pas valides. |
|
Mémoire insuffisante. |
Remarques
Les quatre premiers paramètres sont similaires aux paramètres équivalents dans ITextServices ::TxDraw et fournissent les mêmes informations. Dans le cas où les lignes doivent être recalculées, il doit utiliser ces valeurs de la même manière que dans ITextServices ::TxDraw.
Les paramètres pwidth et pheight sont des paramètres entrants/sortants. L’hôte transmet la largeur et la hauteur provisoires de l’étendue naturelle de l’objet texte. L’objet de services de texte compare ces valeurs à son état mis en cache actuel et, s’il est différent, recalcule les lignes. Ensuite, il calcule et retourne la taille naturelle, comme spécifié par dwMode.
Configuration requise
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] |
Plateforme cible | Windows |
En-tête | textserv.h |
DLL | Msftedit.dll |
Voir aussi
Conceptuel
Autres ressources
Référence