Guide pratique pour utiliser les informations sur les Word et les sauts de ligne
Un contrôle d’édition enrichi appelle une fonction appelée procédure de saut de mot pour rechercher les sauts entre les mots et déterminer où elle peut rompre les lignes. Le contrôle utilise ces informations lors de l’exécution d’opérations de capsulation de mots et lors du traitement des combinaisons de touches Ctrl+Flèche gauche et Ctrl+Flèche droite. Une application peut envoyer des messages à un contrôle d’édition enrichi pour remplacer la procédure de saut de mots par défaut, pour récupérer des informations de saut de mot et pour déterminer la ligne sur laquelle un caractère donné tombe.
Bon à savoir
Technologies
Prérequis
- C/C++
- Programmation de l’interface utilisateur Windows
Instructions
Utiliser les Word et les informations de saut de ligne
les procédures d’arrêt de Word pour les contrôles d’édition enrichis sont similaires à celles des contrôles d’édition, mais elles ont des fonctionnalités supplémentaires : les procédures de saut de mots pour les deux types de contrôles peuvent déterminer si un caractère est un délimiteur et trouver le saut le plus proche avant ou après la position spécifiée. Un délimiteur est un caractère qui marque la fin d’un mot, tel qu’un espace. En règle générale, dans un contrôle d’édition, un saut de mot se produit uniquement après les délimiteurs. Toutefois, des règles différentes s’appliquent à la plupart des langues asiatiques.
Les procédures d’arrêt Word pour les contrôles d’édition enrichis regroupent également les caractères en classes de caractères, chacune identifiée par une valeur dans la plage 0x00 via 0x0F. Les ruptures se produisent après des délimiteurs ou entre des caractères de classes différentes. Ainsi, une procédure de saut de mot avec différentes classes pour les caractères alphanumériques et de ponctuation trouverait deux sauts de mot dans la chaîne « Win.doc » (avant et après le point).
La classe d’un caractère peut être combinée avec zéro ou plusieurs indicateurs de saut de mot pour former une valeur de 8 bits. Lors de l’exécution d’opérations d’habillage de mots, un contrôle d’édition enrichi utilise des indicateurs de saut de mot pour déterminer où il peut rompre les lignes. Rich Edit utilise les indicateurs de saut de mot suivants.
Indicateur | Description |
---|---|
WBF_BREAKAFTER | Les lignes peuvent être rompues après le caractère. |
WBF_BREAKLINE | Le caractère est un délimiteur. Les délimiteurs marquent les extrémités des mots. Les lignes peuvent être rompues après les délimiteurs. |
WBF_ISWHITE | Le caractère est un espace blanc. Les espaces blancs de fin ne sont pas inclus dans la longueur d’une ligne lors de l’habillage. |
La valeur WBF_BREAKAFTER est utilisée pour autoriser l’habillage après un caractère qui ne marque pas la fin d’un mot, tel qu’un trait d’union.
Vous pouvez remplacer la procédure de saut de mot par défaut pour un contrôle d’édition enrichi par votre propre procédure à l’aide du message EM_SETWORDBREAKPROC . Pour plus d’informations sur les procédures de saut de mot, consultez la description de la fonction EditWordBreakProc .
Notes
Ce remplacement n’est pas recommandé pour Microsoft Rich Edit 2.0 et versions ultérieures, en raison de la complexité de la coupure de mots multilingue.
Pour Microsoft Rich Edit 1.0, vous pouvez utiliser le message EM_SETWORDBREAKPROCEX pour remplacer la procédure de saut de mot étendue par défaut par une fonction EditWordBreakProcEx . Cette fonction fournit des informations supplémentaires sur le texte, telles que le jeu de caractères. Vous pouvez utiliser le message EM_GETWORDBREAKPROCEX pour récupérer l’adresse de la procédure de saut lexicale étendue actuelle. Notez que Microsoft Rich Edit 2.0 et versions ultérieures ne prennent pas en charge EditWordBreakProcEx, EM_GETWORDBREAKPROCEX et EM_SETWORDBREAKPROCEX.
Vous pouvez utiliser le message EM_FINDWORDBREAK pour rechercher des sauts de mot ou pour déterminer la classe et les indicateurs de saut de mot d’un caractère. À son tour, le contrôle appelle sa procédure de saut de mot pour obtenir les informations demandées.
Pour déterminer la ligne d’un caractère donné, vous pouvez utiliser le message EM_EXLINEFROMCHAR .
Rubriques connexes