Share via


La classe CRichEditCtrl

Fournit les fonctionnalités du contrôle d'édition enrichi.

Syntaxe

class CRichEditCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CRichEditCtrl::CRichEditCtrl Construit un objet CRichEditCtrl.

Méthodes publiques

Nom Description
CRichEditCtrl::CanPaste Détermine si le contenu du Presse-papiers peut être collé dans ce contrôle d’édition enrichi.
CRichEditCtrl::CanRedo Détermine s’il existe des actions dans la file d’attente de rétablissement du contrôle.
CRichEditCtrl::CanUndo Détermine si une opération d’édition peut être annulée.
CRichEditCtrl::CharFromPos Récupère des informations sur le caractère le plus proche d’un point spécifié dans la zone cliente d’un contrôle d’édition.
CRichEditCtrl::Clear Efface la sélection actuelle.
CRichEditCtrl::Copy Copie la sélection actuelle dans le Presse-papiers.
CRichEditCtrl::Create Crée le contrôle d’édition enrichi Windows et l’associe à cet CRichEditCtrl objet.
CRichEditCtrl::CreateEx Crée le contrôle d’édition enrichi Windows avec les styles Windows étendus spécifiés et l’associe à cet CRichEditCtrl objet.
CRichEditCtrl::Cut Coupe la sélection actuelle dans le Presse-papiers.
CRichEditCtrl::DisplayBand Affiche une partie du contenu de cet CRichEditCtrl objet.
CRichEditCtrl::EmptyUndoBuffer Réinitialise (efface) l’indicateur d’annulation de cet CRichEditCtrl objet.
CRichEditCtrl::FindText Recherche du texte dans cet CRichEditCtrl objet.
CRichEditCtrl::FindWordBreak Recherche le saut de mot suivant avant ou après la position de caractère spécifiée ou récupère des informations sur le caractère à cette position.
CRichEditCtrl::FormatRange Met en forme une plage de texte pour l’appareil de sortie cible.
CRichEditCtrl::GetCharPos Détermine l’emplacement d’un caractère donné dans cet CRichEditCtrl objet.
CRichEditCtrl::GetDefaultCharFormat Récupère les attributs de mise en forme de caractères par défaut actuels dans cet CRichEditCtrl objet.
CRichEditCtrl::GetEventMask Récupère le masque d’événement pour cet CRichEditCtrl objet.
CRichEditCtrl::GetFirstVisibleLine Détermine la ligne visible la plus haute dans cet CRichEditCtrl objet.
CRichEditCtrl::GetIRichEditOle Récupère un pointeur vers l’interface IRichEditOle pour ce contrôle d’édition enrichi.
CRichEditCtrl::GetLimitText Obtient la limite du texte qu’un utilisateur peut entrer dans cet CRichEditCtrl objet.
CRichEditCtrl::GetLine Récupère une ligne de texte à partir de cet CRichEditCtrl objet.
CRichEditCtrl::GetLineCount Récupère le nombre de lignes de cet CRichEditCtrl objet.
CRichEditCtrl::GetModify Détermine si le contenu de cet CRichEditCtrl objet a changé depuis le dernier enregistrement.
CRichEditCtrl::GetOptions Récupère les options de contrôle d’édition enrichies.
CRichEditCtrl::GetParaFormat Récupère les attributs de mise en forme de paragraphe dans la sélection actuelle dans cet CRichEditCtrl objet.
CRichEditCtrl::GetPunctuation Récupère les caractères de ponctuation actuels pour le contrôle d’édition enrichi. Ce message est disponible uniquement dans les versions asiatiques du système d’exploitation.
CRichEditCtrl::GetRect Récupère le rectangle de mise en forme de cet CRichEditCtrl objet.
CRichEditCtrl::GetRedoName Récupère le type de l’action suivante, le cas échéant, dans la file d’attente de rétablissement du contrôle.
CRichEditCtrl::GetSel Obtient les positions de début et de fin de la sélection actuelle dans cet CRichEditCtrl objet.
CRichEditCtrl::GetSelectionCharFormat Récupère les attributs de mise en forme de caractères dans la sélection actuelle dans cet CRichEditCtrl objet.
CRichEditCtrl::GetSelectionType Récupère le type de contenu dans la sélection actuelle dans cet CRichEditCtrl objet.
CRichEditCtrl::GetSelText Obtient le texte de la sélection actuelle dans cet CRichEditCtrl objet
CRichEditCtrl::GetTextLength Récupère la longueur du texte, en caractères, dans cet CRichEditCtrl objet. N’inclut pas le caractère null de fin.
CRichEditCtrl::GetTextLengthEx Récupère le nombre de caractères ou d’octets dans la vue d’édition enrichie. Accepte une liste d’indicateurs pour indiquer la méthode de détermination de la longueur du texte dans un contrôle d’édition enrichi
CRichEditCtrl::GetTextMode Récupère le mode texte actuel et annule le niveau d’un contrôle d’édition enrichi.
CRichEditCtrl::GetTextRange Récupère la plage de texte spécifiée.
CRichEditCtrl::GetUndoName Récupère le type de l’action d’annulation suivante, le cas échéant.
CRichEditCtrl::GetWordWrapMode Récupère les options d’habillage et de rupture de mot actuelles pour le contrôle d’édition enrichi. Ce message est disponible uniquement dans les versions asiatiques du système d’exploitation.
CRichEditCtrl::HideSelection Affiche ou masque la sélection actuelle.
CRichEditCtrl::LimitText Limite la quantité de texte qu’un utilisateur peut entrer dans l’objet CRichEditCtrl .
CRichEditCtrl::LineFromChar Détermine la ligne qui contient le caractère donné.
CRichEditCtrl::LineIndex Récupère l’index de caractère d’une ligne donnée dans cet CRichEditCtrl objet.
CRichEditCtrl::LineLength Récupère la longueur d’une ligne donnée dans cet CRichEditCtrl objet.
CRichEditCtrl::LineScroll Fait défiler le texte dans cet CRichEditCtrl objet.
CRichEditCtrl::Paste Insère le contenu du Presse-papiers dans ce contrôle d’édition enrichi.
CRichEditCtrl::PasteSpecial Insère le contenu du Presse-papiers dans ce contrôle d’édition enrichi au format de données spécifié.
CRichEditCtrl::PosFromChar Récupère les coordonnées de zone cliente d’un caractère spécifié dans un contrôle d’édition.
CRichEditCtrl::Redo Rétablit l’action suivante dans la file d’attente de rétablissement du contrôle.
CRichEditCtrl::ReplaceSel Remplace la sélection actuelle dans cet CRichEditCtrl objet par le texte spécifié.
CRichEditCtrl::RequestResize Force cet CRichEditCtrl objet à envoyer des notifications de redimensionnement de requête.
CRichEditCtrl::SetAutoURLDetect Indique si la détection d’URL automatique est active dans un contrôle d’édition enrichi.
CRichEditCtrl::SetBackgroundColor Définit la couleur d’arrière-plan dans cet CRichEditCtrl objet.
CRichEditCtrl::SetDefaultCharFormat Définit les attributs de mise en forme de caractères par défaut actuels dans cet CRichEditCtrl objet.
CRichEditCtrl::SetEventMask Définit le masque d’événement pour cet CRichEditCtrl objet.
CRichEditCtrl::SetModify Définit ou efface l’indicateur de modification pour cet CRichEditCtrl objet.
CRichEditCtrl::SetOLECallback Définit l’objet IRichEditOleCallback COM pour ce contrôle d’édition enrichi.
CRichEditCtrl::SetOptions Définit les options de cet CRichEditCtrl objet.
CRichEditCtrl::SetParaFormat Définit les attributs de mise en forme de paragraphe dans la sélection actuelle dans cet CRichEditCtrl objet.
CRichEditCtrl::SetPunctuation Définit les caractères de ponctuation d’un contrôle d’édition enrichi. Ce message est disponible uniquement dans les versions asiatiques du système d’exploitation.
CRichEditCtrl::SetReadOnly Définit l’option en lecture seule pour cet CRichEditCtrl objet.
CRichEditCtrl::SetRect Définit le rectangle de mise en forme de cet CRichEditCtrl objet.
CRichEditCtrl::SetSel Définit la sélection dans cet CRichEditCtrl objet.
CRichEditCtrl::SetSelectionCharFormat Définit les attributs de mise en forme des caractères dans la sélection actuelle dans cet CRichEditCtrl objet.
CRichEditCtrl::SetTargetDevice Définit l’appareil de sortie cible pour cet CRichEditCtrl objet.
CRichEditCtrl::SetTextMode Définit le mode texte ou annuler le niveau d’un contrôle d’édition enrichi. Le message échoue si le contrôle contient du texte.
CRichEditCtrl::SetUndoLimit Définit le nombre maximal d’actions pouvant être stockées dans la file d’attente d’annulation.
CRichEditCtrl::SetWordCharFormat Définit les attributs de mise en forme de caractères dans le mot actuel de cet CRichEditCtrl objet.
CRichEditCtrl::SetWordWrapMode Définit les options word-wrapping et word-breaking pour le contrôle d’édition enrichi. Ce message est disponible uniquement dans les versions asiatiques du système d’exploitation.
CRichEditCtrl::StopGroupTyping Empêche le contrôle de collecter des actions de saisie supplémentaires dans l’action d’annulation actuelle. Le contrôle stocke l’action de saisie suivante, le cas échéant, dans une nouvelle action dans la file d’attente d’annulation.
CRichEditCtrl::StreamIn Insère du texte à partir d’un flux d’entrée dans cet CRichEditCtrl objet.
CRichEditCtrl::StreamOut Stocke du texte de cet CRichEditCtrl objet dans un flux de sortie.
CRichEditCtrl::Undo Inverse la dernière opération de modification.

Notes

Un « contrôle d’édition enrichi » est une fenêtre dans laquelle l’utilisateur peut entrer et modifier du texte. Le texte peut être affecté à un caractère et à une mise en forme de paragraphe, et peut inclure des objets OLE incorporés. Les contrôles d’édition enrichi fournissent une interface de programmation pour la mise en forme du texte. Toutefois, une application doit implémenter tous les composants d’interface utilisateur nécessaires pour rendre les opérations de mise en forme accessibles à l’utilisateur.

Ce contrôle commun Windows (et par conséquent la CRichEditCtrl classe) est disponible uniquement pour les programmes exécutés sous Windows 95/98 et Windows NT versions 3.51 et ultérieures. La CRichEditCtrl classe prend en charge les versions 2.0 et 3.0 du contrôle d’édition enrichi du Kit de développement logiciel (SDK) Windows.

Attention

Si vous utilisez un contrôle d’édition enrichi dans une boîte de dialogue (que votre application soit SDI, MDI ou basée sur une boîte de dialogue), vous devez appeler AfxInitRichEdit une fois avant l’affichage de la boîte de dialogue. Un endroit typique pour appeler cette fonction se trouve dans la fonction membre de InitInstance votre programme. Vous n’avez pas besoin de l’appeler pour chaque fois que vous affichez la boîte de dialogue, uniquement la première fois. Vous n’avez pas besoin d’appeler AfxInitRichEdit si vous travaillez avec CRichEditView.

Pour plus d’informations sur l’utilisation CRichEditCtrl, consultez :

Pour obtenir un exemple d’utilisation d’un contrôle d’édition enrichi dans une application MFC, consultez l’exemple d’application WORDPAD .

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CRichEditCtrl

Spécifications

En-têteafxcmn.h:

CRichEditCtrl::CanPaste

Détermine si le contrôle d’édition enrichi peut coller le format de Presse-papiers spécifié.

BOOL CanPaste(UINT nFormat = 0) const;

Paramètres

nFormat
Format de données du Presse-papiers à interroger. Ce paramètre peut être l’un des formats de Presse-papiers prédéfinis ou la valeur retournée par RegisterClipboardFormat.

Valeur de retour

Différent de zéro si le format presse-papiers peut être collé ; sinon 0.

Notes

Si nFormat la valeur est 0, CanPaste essayez un format actuellement dans le Presse-papiers.

Pour plus d’informations, consultez EM_CANPASTE message et RegisterClipboardFormat fonction dans le Kit de développement logiciel (SDK) Windows.

Exemple

// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
   m_myRichEditCtrl.Paste();
}

CRichEditCtrl::CanRedo

Détermine si la file d’attente de restauration automatique contient des actions.

BOOL CanRedo() const;

Valeur de retour

Différent de zéro si la file d’attente de restauration automatique contient des actions, sinon 0.

Notes

Pour découvrir le nom de l’opération dans la file d’attente de restauration automatique, appelez CRichEditCtrl::GetRedoName. Pour rétablir l’opération d’annulation la plus récente, appelez Redo.

Pour plus d’informations, consultez EM_CANREDO le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::CanUndo

Détermine si la dernière opération de modification peut être annulée.

BOOL CanUndo() const;

Valeur de retour

Différent de zéro si la dernière opération de modification peut être annulée par un appel à la Undo fonction membre ; 0 s’il ne peut pas être annulé.

Notes

Pour plus d’informations, consultez EM_CANUNDO le Kit de développement logiciel (SDK) Windows.

Exemple

// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
   m_myRichEditCtrl.Undo();

CRichEditCtrl::CharFromPos

Récupère des informations sur le caractère au point spécifié par le paramètre pt.

int CharFromPos(CPoint pt) const;

Paramètres

pt
Objet CPoint contenant les coordonnées du point spécifié.

Valeur de retour

Index de caractère de base zéro du caractère le plus proche du point spécifié. Si le point spécifié dépasse le dernier caractère du contrôle, la valeur de retour indique le dernier caractère du contrôle.

Notes

Cette fonction membre fonctionne avec un contrôle d’édition enrichi. Pour obtenir les informations d’un contrôle d’édition, appelez CEdit::CharFromPos.

Pour plus d’informations, consultez EM_CHARFROMPOS le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::Clear

Supprime (efface) la sélection actuelle (le cas échéant) dans le contrôle d’édition enrichi.

void Clear();

Notes

La suppression effectuée par Clear peut être annulée en appelant la Undo fonction membre.

Pour supprimer la sélection actuelle et placer le contenu supprimé dans le Presse-papiers, appelez la Cut fonction membre.

Pour plus d’informations, consultez WM_CLEAR le Kit de développement logiciel (SDK) Windows.

Exemple

// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();

CRichEditCtrl::Copy

Copie la sélection actuelle (le cas échéant) dans le contrôle d’édition enrichi dans le Presse-papiers.

void Copy();

Notes

Pour plus d’informations, consultez WM_COPY le Kit de développement logiciel (SDK) Windows.

Exemple

// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();

CRichEditCtrl::Create

Crée le contrôle d’édition enrichi Windows et l’associe à cet CRichEditCtrl objet.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwStyle
Spécifie le style du contrôle d’édition. Appliquez une combinaison des styles de fenêtre répertoriés dans la section Remarques ci-dessous et modifiez les styles de contrôle, décrits dans le Kit de développement logiciel (SDK) Windows.

rect
Spécifie la taille et la position du contrôle d’édition. Il peut s’agir d’un objet ou RECT d’une CRect structure.

pParentWnd
Spécifie la fenêtre parente du contrôle d’édition (souvent a CDialog). Il ne doit pas être NULL.

nID
Spécifie l’ID du contrôle d’édition.

Valeur de retour

Différent de zéro si l’initialisation réussit ; sinon, 0.

Notes

Vous construisez un CRichEditCtrl objet en deux étapes. Tout d’abord, appelez le CRichEditCtrl constructeur, puis appelez Create, qui crée le contrôle d’édition Windows et l’attache à l’objet CRichEditCtrl .

Lorsque vous créez un contrôle d’édition enrichi avec cette fonction, vous devez d’abord charger la bibliothèque de contrôles courants nécessaire. Pour charger la bibliothèque, appelez la fonction AfxInitRichEditglobale, qui initialise à son tour la bibliothèque de contrôles communs. Vous devez appeler AfxInitRichEdit une seule fois dans votre processus.

Lors Create de l’exécution, Windows envoie les WM_NCCREATEmessages , et WM_NCCALCSIZEWM_CREATEWM_GETMINMAXINFO les messages au contrôle d’édition.

Ces messages sont gérés par défaut par les OnNcCreatefonctions membres et OnCreateOnGetMinMaxInfo , OnNcCalcSizepar défaut, dans la classe de CWnd base. Pour étendre la gestion des messages par défaut, dérivez une classe de CRichEditCtrl, ajoutez un mappage de messages à la nouvelle classe et remplacez les fonctions membres du gestionnaire de messages ci-dessus. Remplacez OnCreate, par exemple, pour effectuer l’initialisation nécessaire pour la nouvelle classe.

Appliquez les styles de fenêtre suivants à un contrôle d’édition.

  • WS_CHILD Toujours.

  • WS_VISIBLE Généralement.

  • WS_DISABLED Rarement.

  • WS_GROUP Pour regrouper les contrôles.

  • WS_TABSTOP Pour inclure le contrôle de modification dans l’ordre de tabulation.

Pour plus d’informations sur les styles de fenêtre, consultez CreateWindow le Kit de développement logiciel (SDK) Windows.

Exemple

m_myRichEditCtrl.Create(
    WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
    CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);

CRichEditCtrl::CreateEx

Crée un contrôle (fenêtre enfant) et l’associe à l’objet CRichEditCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwExStyle
Spécifie le style étendu du contrôle en cours de création. Pour obtenir la liste des styles Windows étendus, consultez le dwExStyle paramètre correspondant CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.

dwStyle
Spécifie le style du contrôle d’édition. Appliquez une combinaison des styles de fenêtre répertoriés dans la section Remarques et modifiez les styles de Createcontrôle, décrits dans le Kit de développement logiciel (SDK) Windows.

rect
Référence à une RECT structure décrivant la taille et la position de la fenêtre à créer, dans les coordonnées clientes de pParentWnd.

pParentWnd
Pointeur vers la fenêtre qui est le parent du contrôle.

nID
ID de la fenêtre enfant du contrôle.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Utilisez CreateEx plutôt que d’appliquer Create des styles Windows étendus, spécifiés par le préface WS_EX_de style étendu Windows.

CRichEditCtrl::CRichEditCtrl

Construit un objet CRichEditCtrl.

CRichEditCtrl();

Notes

Permet Create de construire le contrôle d’édition enrichi Windows.

Exemple

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;

CRichEditCtrl::Cut

Supprimez (coupe) la sélection actuelle (le cas échéant) dans le contrôle d’édition enrichi et copiez le texte supprimé dans le Presse-papiers.

void Cut();

Notes

La suppression effectuée par Cut peut être annulée en appelant la Undo fonction membre.

Pour supprimer la sélection actuelle sans placer le texte supprimé dans le Presse-papiers, appelez la Clear fonction membre.

Pour plus d’informations, consultez WM_CUT le Kit de développement logiciel (SDK) Windows.

Exemple

// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();

CRichEditCtrl::DisplayBand

Affiche une partie du contenu du contrôle d’édition enrichi (texte et éléments OLE), comme précédemment mis en forme par FormatRange.

BOOL DisplayBand(LPRECT pDisplayRect);

Paramètres

pDisplayRect
Pointeur vers un RECT ou CRect un objet spécifiant la zone de l’appareil à afficher le texte.

Valeur de retour

Différent de zéro si l’affichage du texte mis en forme réussit, sinon, 0.

Notes

Le texte et les éléments OLE sont découpés dans la zone spécifiée par le pointeur pDisplayRect.

Pour plus d’informations, consultez EM_DISPLAYBAND le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CRichEditCtrl::FormatRange.

CRichEditCtrl::EmptyUndoBuffer

Réinitialise (efface) l’indicateur d’annulation de ce contrôle d’édition enrichi.

void EmptyUndoBuffer();

Notes

Le contrôle ne pourra plus annuler la dernière opération de modification. L’indicateur d’annulation est défini chaque fois qu’une opération dans le contrôle d’édition enrichi peut être annulée.

L’indicateur d’annulation est automatiquement effacé chaque fois que vous appelez la CWnd fonction SetWindowTextmembre.

Pour plus d’informations, consultez EM_EMPTYUNDOBUFFER le Kit de développement logiciel (SDK) Windows.

Exemple

// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
   m_myRichEditCtrl.EmptyUndoBuffer();
   ASSERT(!m_myRichEditCtrl.CanUndo());
}

CRichEditCtrl::FindText

Recherche du texte dans le contrôle d’édition enrichi.

long FindText(
    DWORD dwFlags,
    FINDTEXTEX* pFindText) const;

Paramètres

dwFlags
Pour obtenir la liste des valeurs possibles, consultez wParamEM_FINDTEXTEXT le Kit de développement logiciel (SDK) Windows.

pFindText
Pointeur vers la FINDTEXTEX structure donnant les paramètres de la recherche et retournant la plage où la correspondance a été trouvée.

Valeur de retour

Position de caractère de base zéro de la correspondance suivante ; - 1 s’il n’y a plus de correspondances.

Notes

Vous pouvez effectuer une recherche vers le haut ou vers le bas en définissant les paramètres de plage appropriés dans la CHARRANGE structure dans la FINDTEXTEX structure.

Pour plus d’informations, consultez EM_FINDTEXTEX message et FINDTEXTEX structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

// Set the selection to be the first occurrence of the
// string lpszmyString, if it is found.
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = 50;
ft.lpstrText = _T("wallaby");
long n = m_myRichEditCtrl.FindText(FR_MATCHCASE | FR_WHOLEWORD, &ft);
if (n != -1)
   m_myRichEditCtrl.SetSel(ft.chrgText);

CRichEditCtrl::FindWordBreak

Recherche le saut de mot suivant avant ou après la position spécifiée par nStart.

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

Paramètres

nCode
Indique l’action à entreprendre. Pour obtenir la liste des valeurs possibles, consultez la description du paramètre code dans EM_FINDWORDBREAK le Kit de développement logiciel (SDK) Windows.

nStart
Position de caractère de base zéro à partir de laquelle commencer.

Valeur de retour

En fonction du paramètre nCode. Pour plus d’informations, consultez EM_FINDWORDBREAK le Kit de développement logiciel (SDK) Windows.

Notes

Vous pouvez utiliser cette fonction membre pour récupérer des informations sur un caractère à une position donnée.

CRichEditCtrl::FormatRange

Met en forme une plage de texte dans un contrôle d’édition enrichi pour un appareil spécifique.

long FormatRange(
    FORMATRANGE* pfr,
    BOOL bDisplay = TRUE);

Paramètres

pfr
Pointeur vers la FORMATRANGE structure qui contient des informations sur l’appareil de sortie. NULL indique que les informations mises en cache dans le contrôle d’édition enrichi peuvent être libérées.

bDisplay
Indique si le texte doit être rendu. Si FALSE, le texte est juste mesuré.

Valeur de retour

Index du dernier caractère qui correspond à la région plus un.

Notes

En règle générale, cet appel est suivi d’un appel à DisplayBand.

Pour plus d’informations, consultez EM_FORMATRANGE message et FORMATRANGE structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
   CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());

   FORMATRANGE fr;

   // Get the page width and height from the printer.
   long lPageWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
                              1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
   long lPageHeight = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALHEIGHT),
                               1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSY));
   CRect rcPage(0, 0, lPageWidth, lPageHeight);

   // Format the text and render it to the printer.
   fr.hdc = pMyPrinterDC->m_hDC;
   fr.hdcTarget = pMyPrinterDC->m_hDC;
   fr.rc = rcPage;
   fr.rcPage = rcPage;
   fr.chrg.cpMin = 0;
   fr.chrg.cpMax = -1;
   m_myRichEditCtrl.FormatRange(&fr, TRUE);

   // Update the display with the new formatting.
   RECT rcClient;
   m_myRichEditCtrl.GetClientRect(&rcClient);
   m_myRichEditCtrl.DisplayBand(&rcClient);

   pMyPrinterDC->DeleteDC();
}

CRichEditCtrl::GetCharPos

Obtient la position (coin supérieur gauche) d’un caractère donné dans cet CRichEditCtrl objet.

CPoint GetCharPos(long lChar) const;

Paramètres

lChar
Index de base zéro du caractère.

Valeur de retour

Emplacement du coin supérieur gauche du caractère spécifié par lChar.

Notes

Le caractère est spécifié en donnant sa valeur d’index de base zéro. Si lChar elle est supérieure à l’index du dernier caractère de cet CRichEditCtrl objet, la valeur de retour spécifie les coordonnées de la position du caractère juste après le dernier caractère de cet CRichEditCtrl objet.

Pour plus d’informations, consultez EM_POSFROMCHAR le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::GetDefaultCharFormat

Obtient les attributs de mise en forme de caractères par défaut de cet CRichEditCtrl objet.

DWORD GetDefaultCharFormat(CHARFORMAT& cf) const;  DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;

Paramètres

cf
Dans la première version, pointeur vers une CHARFORMAT structure contenant les attributs de mise en forme de caractères par défaut.

Dans la deuxième version, un pointeur vers une CHARFORMAT2 structure, qui est une extension Rich Edit 2.0 à la CHARFORMAT structure, contenant les attributs de mise en forme de caractères par défaut.

Valeur de retour

Membre dwMask de données de cf. Il a spécifié les attributs de mise en forme de caractères par défaut.

Notes

Pour plus d’informations, consultez le EM_GETCHARFORMAT message et les CHARFORMATCHARFORMAT2 structures dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour SetDefaultCharFormat.

CRichEditCtrl::GetEventMask

Obtient le masque d’événement pour cet CRichEditCtrl objet.

long GetEventMask() const;

Valeur de retour

Masque d’événement pour cet CRichEditCtrl objet.

Notes

Le masque d’événement spécifie les messages de notification que l’objet CRichEditCtrl envoie à sa fenêtre parente.

Pour plus d’informations, consultez EM_GETEVENTMASK le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CRichEditCtrl::SetEventMask.

CRichEditCtrl::GetFirstVisibleLine

Détermine la ligne visible la plus haute dans cet CRichEditCtrl objet.

int GetFirstVisibleLine() const;

Valeur de retour

Index de base zéro de la ligne visible la plus haute dans cet CRichEditCtrl objet.

Notes

Pour plus d’informations, consultez EM_GETFIRSTVISIBLELINE le Kit de développement logiciel (SDK) Windows.

Exemple

int nFirstVisible = m_myRichEditCtrl.GetFirstVisibleLine();

// Scroll the rich edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
   m_myRichEditCtrl.LineScroll(-nFirstVisible, 0);
}

CRichEditCtrl::GetIRichEditOle

Accède à l’interface IRichEditOle de cet CRichEditCtrl objet.

IRichEditOle* GetIRichEditOle() const;

Valeur de retour

Pointeur vers l’interface IRichEditOle qui peut être utilisé pour accéder à la fonctionnalité OLE de cet CRichEditCtrl objet ; NULL si l’interface n’est pas accessible.

Notes

Utilisez cette interface pour accéder aux fonctionnalités OLE de cet CRichEditCtrl objet.

Pour plus d’informations, consultez EM_GETOLEINTERFACE le message et IRichEditOle l’interface dans le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::GetLimitText

Obtient la limite de texte pour cet CRichEditCtrl objet.

long GetLimitText() const;

Valeur de retour

Limite de texte actuelle, en octets, pour cet CRichEditCtrl objet.

Notes

La limite de texte correspond à la quantité maximale de texte, en octets, que le contrôle d’édition enrichi peut accepter.

Pour plus d’informations, consultez EM_GETLIMITTEXT le Kit de développement logiciel (SDK) Windows.

Exemple

// The new text of the rich edit control.
LPCTSTR lpszmyString = _T("Here's some text in our rich edit control!");
long nLength = (long)_tcslen(lpszmyString);

// Want the text limit to be at least the size of the new string.
if (m_myRichEditCtrl.GetLimitText() < nLength)
   m_myRichEditCtrl.LimitText(nLength);

m_myRichEditCtrl.SetWindowText(lpszmyString);

CRichEditCtrl::GetLine

Récupère une ligne de texte à partir de cet CRichEditCtrl objet.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer,
    int nMaxLength) const;

Paramètres

nIndex
Index de base zéro de la ligne à récupérer.

lpszBuffer
Pointe vers la mémoire tampon pour recevoir le texte. Le premier mot de la mémoire tampon doit spécifier le nombre maximal d’octets qui peuvent être copiés dans la mémoire tampon.

nMaxLength
Nombre maximal de caractères pouvant être copiés dans lpszBuffer. La deuxième forme de GetLine place cette valeur dans le premier mot de la mémoire tampon spécifiée par lpszBuffer.

Valeur de retour

Nombre de caractères copiés dans lpszBuffer.

Notes

La ligne copiée ne contient pas de caractère null de fin.

Remarque

Étant donné que le premier mot de la mémoire tampon stocke le nombre de caractères à copier, assurez-vous que votre mémoire tampon est d’au moins 4 octets de long.

Pour plus d’informations, consultez EM_GETLINE le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour GetLineCount.

CRichEditCtrl::GetLineCount

Récupère le nombre de lignes dans l’objet CRichEditCtrl .

int GetLineCount() const;

Valeur de retour

Nombre de lignes dans cet CRichEditCtrl objet.

Notes

Pour plus d’informations, consultez EM_GETLINECOUNT le Kit de développement logiciel (SDK) Windows.

Exemple

int nLineLength, nLineIndex, nLineCount = m_myRichEditCtrl.GetLineCount();
CString strText, strLine;

// Dump every line of text of the rich edit control.
for (int i = 0; i < nLineCount; i++)
{
   nLineIndex = m_myRichEditCtrl.LineIndex(i);
   nLineLength = m_myRichEditCtrl.LineLength(nLineIndex);
   m_myRichEditCtrl.GetLine(i, strText.GetBufferSetLength(nLineLength + 1),
                            nLineLength);
   strText.SetAt(nLineLength, _T('\0')); // null terminate
   strText.ReleaseBuffer(nLineLength + 1);

   TRACE(_T("line %d: '%s'\r\n"), i, strText);
}

CRichEditCtrl::GetModify

Détermine si le contenu de cet CRichEditCtrl objet a été modifié.

BOOL GetModify() const;

Valeur de retour

Différent de zéro si le texte de cet CRichEditCtrl objet a été modifié ; sinon, 0.

Notes

Windows conserve un indicateur interne indiquant si le contenu du contrôle d’édition enrichi a été modifié. Cet indicateur est effacé lorsque le contrôle d’édition est créé pour la première fois et peut également être effacé en appelant la SetModify fonction membre.

Pour plus d’informations, consultez EM_GETMODIFY le Kit de développement logiciel (SDK) Windows.

Exemple

// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
   m_myRichEditCtrl.SetModify(FALSE);

CRichEditCtrl::GetOptions

Récupère les options actuellement définies pour le contrôle d’édition enrichi.

UINT GetOptions() const;

Valeur de retour

Combinaison des valeurs d’indicateur d’option actuelles. Pour obtenir la liste de ces valeurs, consultez le fOptions paramètre dans le EM_SETOPTIONS message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::GetParaFormat

Obtient les attributs de mise en forme de paragraphe de la sélection actuelle.

DWORD GetParaFormat(PARAFORMAT& pf) const;  DWORD GetParaFormat(PARAFORMAT2& pf) const;

Paramètres

pf
Dans la première version, pointeur vers une PARAFORMAT structure contenant les attributs de mise en forme des paragraphes de la sélection actuelle.

Dans la deuxième version, un pointeur vers une PARAFORMAT2 structure, qui est une extension Rich Edit 2.0 à la PARAFORMAT structure, contenant les attributs de mise en forme de caractères par défaut.

Valeur de retour

Membre dwMask de données de pf. Il spécifie les attributs de mise en forme de paragraphe qui sont cohérents tout au long de la sélection actuelle.

Notes

Si plusieurs paragraphes sont sélectionnés, pf reçoit les attributs du premier paragraphe sélectionné. La valeur de retour spécifie quels attributs sont cohérents tout au long de la sélection.

Pour plus d’informations, consultez le EM_GETPARAFORMAT message et les PARAFORMATPARAFORMAT2 structures dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CRichEditCtrl::SetParaFormat.

CRichEditCtrl::GetPunctuation

Obtient les caractères de ponctuation actuels dans un contrôle d’édition enrichi.

BOOL GetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc) const;

Paramètres

fType
Indicateur de type de ponctuation, comme décrit dans le fType paramètre du Kit de EM_GETPUNCTUATION développement logiciel (SDK) Windows.

lpPunc
Pointeur vers une PUNCTUATION structure, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Différent de zéro si l’opération a réussi, sinon 0.

Notes

Cette fonction membre est disponible uniquement avec les versions linguistiques asiatiques du système d’exploitation.

CRichEditCtrl::GetRect

Récupère le rectangle de mise en forme de cet CRichEditCtrl objet.

void GetRect(LPRECT lpRect) const;

Paramètres

lpRect
CRect ou pointeur vers un RECT pointeur pour recevoir le rectangle de mise en forme de cet CRichEditCtrl objet.

Notes

Le rectangle de mise en forme est le rectangle englobant du texte. Cette valeur est indépendante de la taille de l’objet CRichEditCtrl .

Pour plus d’informations, consultez EM_GETRECT le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour LimitText.

CRichEditCtrl::GetRedoName

Récupère le type de l’action disponible suivante dans la file d’attente de rétablissement, le cas échéant.

UNDONAMEID GetRedoName() const;

Valeur de retour

Si elle réussit, GetRedoName retourne le UNDONAMEID type d’énumération indiquant le type de l’action suivante dans la file d’attente de rétablissement du contrôle. Si la file d’attente de rétablissement est vide ou si l’action de rétablissement dans la file d’attente est d’un type inconnu, GetRedoName retourne 0.

Notes

Les types d’actions qui peuvent être annulées ou annulées incluent les opérations de saisie, de suppression, de glisser-déplacer, de coupe et de collage. Ces informations peuvent être utiles pour les applications qui fournissent une interface utilisateur étendue pour les opérations Annuler et Rétablir, telles qu’une zone de liste déroulante d’actions pouvant être rétablies.

CRichEditCtrl::GetSel

Récupère les limites de la sélection actuelle dans cet CRichEditCtrl objet.

void GetSel(CHARRANGE& cr) const;

void GetSel(
    long& nStartChar,
    long& nEndChar) const;

Paramètres

cr
Référence à une CHARRANGE structure pour recevoir les limites de la sélection actuelle.

nStartChar
Index de base zéro du premier caractère de la sélection actuelle.

nEndChar
Index de base zéro du dernier caractère de la sélection actuelle.

Notes

Les deux formes de cette fonction fournissent d’autres façons d’obtenir les limites de la sélection. Voici quelques descriptions de ces formulaires :

  • GetSel(cr) Ce formulaire utilise la CHARRANGE structure avec ses membres et cpMax ses cpMin membres pour retourner les limites.

  • GetSel(nStartChar,nEndChar) Ce formulaire retourne les limites dans les paramètres nStartChar et .nEndChar

La sélection inclut tout si le début (cpMin ou nStartChar) est 0 et la fin (cpMax ou nEndChar) est - 1.

Pour plus d’informations, consultez EM_EXGETSEL message et CHARRANGE structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

// Set the selection to be all characters after the current selection.
long nStartChar, nEndChar;

m_myRichEditCtrl.GetSel(nStartChar, nEndChar);
m_myRichEditCtrl.SetSel(nEndChar, -1);

CRichEditCtrl::GetSelectionCharFormat

Obtient les attributs de mise en forme des caractères de la sélection actuelle.

DWORD GetSelectionCharFormat(CHARFORMAT& cf) const;  DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;

Paramètres

cf
Dans la première version, pointeur vers une CHARFORMAT structure pour recevoir les attributs de mise en forme des caractères de la sélection actuelle.

Dans la deuxième version, pointeur vers une CHARFORMAT2 structure, qui est une extension Rich Edit 2.0 à la CHARFORMAT structure pour recevoir les attributs de mise en forme des caractères de la sélection actuelle.

Valeur de retour

Membre dwMask de données de cf. Il spécifie les attributs de mise en forme de caractères cohérents dans toute la sélection actuelle.

Notes

Le cf paramètre reçoit les attributs du premier caractère de la sélection actuelle. La valeur de retour spécifie quels attributs sont cohérents tout au long de la sélection.

Pour plus d’informations, consultez le EM_GETCHARFORMAT message et les CHARFORMATCHARFORMAT2 structures dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour SetSelectionCharFormat.

CRichEditCtrl::GetSelectionType

Détermine le type de sélection dans cet CRichEditCtrl objet.

WORD GetSelectionType() const;

Valeur de retour

Indicateurs indiquant le contenu de la sélection actuelle. Combinaison des indicateurs suivants :

  • SEL_EMPTY Indique qu’il n’existe aucune sélection actuelle.

  • SEL_TEXT Indique que la sélection actuelle contient du texte.

  • SEL_OBJECT Indique que la sélection actuelle contient au moins un élément OLE.

  • SEL_MULTICHAR Indique que la sélection actuelle contient plusieurs caractères de texte.

  • SEL_MULTIOBJECT Indique que la sélection actuelle contient plusieurs objets OLE.

Notes

Pour plus d’informations, consultez EM_SELECTIONTYPE le Kit de développement logiciel (SDK) Windows.

Exemple

// Dump the selection text only if it contains at least one text character.
if (m_myRichEditCtrl.GetSelectionType() & (SEL_TEXT | SEL_MULTICHAR))
{
   CString strText = m_myRichEditCtrl.GetSelText();

   TRACE(_T("selection text is '%s'.\r\n"), strText);
}

CRichEditCtrl::GetSelText

Récupère le texte de la sélection actuelle dans cet CRichEditCtrl objet.

long GetSelText(LPSTR lpBuf) const;  CString GetSelText() const;

Paramètres

lpBuf
Pointeur vers la mémoire tampon pour recevoir le texte de la sélection actuelle.

Valeur de retour

Dépend du formulaire :

  • GetSelText(lpBuf) Nombre de caractères copiés dans lpBuf, sans inclure l’arrêt Null.

  • GetSelText( ) Chaîne contenant la sélection actuelle.

Notes

Si vous utilisez le premier formulaire, GetSelText(lpBuf)vous devez vous assurer que la mémoire tampon est suffisamment grande pour le texte qu’elle recevra. Appel GetSel pour déterminer le nombre de caractères dans la sélection actuelle.

Pour plus d’informations, consultez EM_GETSELTEXT le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CRichEditCtrl::GetSelectionType.

CRichEditCtrl::GetTextLength

Récupère la longueur du texte, en caractères, dans cet CRichEditCtrl objet, sans inclure le caractère null de fin.

long GetTextLength() const;

Valeur de retour

Longueur du texte de cet CRichEditCtrl objet.

Notes

Pour plus d’informations, consultez WM_GETTEXTLENGTH le Kit de développement logiciel (SDK) Windows.

Exemple

// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());

CRichEditCtrl::GetTextLengthEx

Calcule la longueur du texte dans le contrôle d’édition enrichi.

long GetTextLengthEx(
    DWORD dwFlags,
    UINT uCodePage = -1) const;

Paramètres

dwFlags
Valeur spécifiant la méthode à utiliser pour déterminer la longueur du texte. Ce membre peut être une ou plusieurs des valeurs répertoriées dans le membre des indicateurs décrits GETTEXTLENGTHEX dans le Kit de développement logiciel (SDK) Windows.

uCodePage
Page de codes pour la traduction (CP_ACP pour la page de codes ANSI, 1200 pour Unicode).

Valeur de retour

Nombre de caractères ou d’octets dans le contrôle d’édition. Si des indicateurs incompatibles ont été définis dans dwFlags, cette fonction membre retourne E_INVALIDARG.

Notes

GetTextLengthEx fournit des moyens supplémentaires de déterminer la longueur du texte. Il prend en charge la fonctionnalité Rich Edit 2.0. Pour plus d’informations, voir À propos des contrôles d’édition enrichi dans le sdk Windows.

CRichEditCtrl::GetTextMode

Récupère le mode texte actuel et annule le niveau d’un contrôle d’édition enrichi.

UINT GetTextMode() const;

Valeur de retour

Ensemble d’indicateurs de bits à partir du TEXTMODE type d’énumération, comme décrit dans le Kit de développement logiciel (SDK) Windows. Les indicateurs indiquent le mode texte actuel et annulent le niveau du contrôle.

CRichEditCtrl::GetTextRange

Obtient la plage de caractères spécifiée.

int GetTextRange(
    int nFirst,
    int nLast,
    CString& refString) const;

Paramètres

nFirst
Index de position de caractère précédant immédiatement le premier caractère de la plage.

nLast
Position du caractère immédiatement après le dernier caractère de la plage.

refString
Référence à un CString objet qui recevra le texte.

Valeur de retour

Nombre de caractères copiés, sans inclure le caractère null de fin.

Notes

Pour plus d’informations, consultez EM_GETTEXTRANGE le Kit de développement logiciel (SDK) Windows.

GetTextRange prend en charge la fonctionnalité Rich Edit 2.0. Pour plus d’informations, voir À propos des contrôles d’édition enrichi dans le sdk Windows.

CRichEditCtrl::GetUndoName

Récupère le type de l’action disponible suivante dans la file d’attente d’annulation, le cas échéant.

UNDONAMEID GetUndoName() const;

Valeur de retour

Si une action d’annulation se trouve dans la file d’attente d’annulation du contrôle, GetUndoName retourne le type d’énumération UNDONAMEID indiquant le type de l’action suivante dans la file d’attente. Si la file d’attente d’annulation est vide ou si l’action d’annulation dans la file d’attente est d’un type inconnu, GetUndoName retourne 0.

Notes

Les types d’actions qui peuvent être annulées ou annulées incluent les opérations de saisie, de suppression, de glisser-déplacer, de coupe et de collage. Ces informations peuvent être utiles pour les applications qui fournissent une interface utilisateur étendue pour les opérations Annuler et Rétablir, telles qu’une zone de liste déroulante d’actions qui peuvent être annulées.

CRichEditCtrl::GetWordWrapMode

Récupère les options d’habillage et de rupture de mot actuelles pour le contrôle d’édition enrichi.

UINT GetWordWrapMode() const;

Valeur de retour

Options d’habillage et de rupture de mot actuelles. Ces options sont décrites dans EM_SETWORDWRAPMODE le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction membre est disponible uniquement pour les versions asiatiques du système d’exploitation.

CRichEditCtrl::HideSelection

Modifie la visibilité de la sélection.

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

Paramètres

bHide
Indique si la sélection doit être affichée ou masquée pour TRUE masquer la sélection.

bPerm
Indique si cette modification de la visibilité de la sélection doit être permanente.

Notes

Quand bPerm c’est TRUEle cas, il modifie l’option ECO_NOHIDESEL de cet CRichEditCtrl objet. Pour obtenir une brève description de cette option, consultez SetOptions. Vous pouvez utiliser cette fonction pour définir toutes les options de cet CRichEditCtrl objet.

Pour plus d’informations, consultez EM_HIDESELECTION le Kit de développement logiciel (SDK) Windows.

Exemple

// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);

CRichEditCtrl::LimitText

Limite la longueur du texte que l’utilisateur peut entrer dans un contrôle d’édition.

void LimitText(long nChars = 0);

Paramètres

nChars
Spécifie la longueur (en octets) du texte que l’utilisateur peut entrer. Si ce paramètre est 0 (valeur par défaut), la longueur du texte est définie sur 64 000 octets.

Notes

La modification de la limite de texte limite uniquement le texte que l’utilisateur peut entrer. Il n’a aucun effet sur le texte déjà dans le contrôle d’édition, ni n’affecte-t-il la longueur du texte copié dans le contrôle d’édition par la SetWindowText fonction membre dans CWnd. Si une application utilise la SetWindowText fonction pour placer plus de texte dans un contrôle d’édition que ce qui est spécifié dans l’appel LimitText, l’utilisateur peut supprimer n’importe quel texte dans le contrôle d’édition. Toutefois, la limite de texte empêchera l’utilisateur de remplacer le texte existant par un nouveau texte, sauf si la suppression de la sélection actuelle entraîne la chute du texte sous la limite de texte.

Remarque

Pour la limite de texte, chaque élément OLE compte comme un caractère unique.

Pour plus d’informations, consultez EM_EXLIMITTEXT le Kit de développement logiciel (SDK) Windows.

Exemple

// Limit the number of characters to be the maximum number visible.

// Get the text metrics for the edit; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDC = m_myRichEditCtrl.GetDC();
pDC->GetTextMetrics(&tm);
m_myRichEditCtrl.ReleaseDC(pDC);

CRect r;
m_myRichEditCtrl.GetRect(&r);
m_myRichEditCtrl.LimitText(r.Width() / tm.tmAveCharWidth);

CRichEditCtrl::LineFromChar

Récupère le numéro de ligne de la ligne qui contient l’index de caractère spécifié.

long LineFromChar(long nIndex) const;

Paramètres

nIndex
Contient la valeur d’index de base zéro pour le caractère souhaité dans le texte du contrôle d’édition, ou contient -1. S’il nIndex s’agit de -1, il spécifie la ligne actuelle, autrement dit, la ligne qui contient le caret.

Valeur de retour

Numéro de ligne de base zéro de la ligne contenant l’index de caractère spécifié par nIndex. Si nIndex la valeur est -1, le nombre de lignes qui contient le premier caractère de la sélection est retourné. S’il n’existe aucune sélection, le numéro de ligne actuel est retourné.

Notes

Un index de caractères est le nombre de caractères du début du contrôle d’édition enrichi. Pour le comptage de caractères, un élément OLE est compté comme un seul caractère.

Pour plus d’informations, consultez EM_EXLINEFROMCHAR le Kit de développement logiciel (SDK) Windows.

Exemple

// The index of the char to get information on.
int nIndex = 11;

CString strText;

m_myRichEditCtrl.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);

// Dump the index, character and line number.
TRACE(_T("nIndex = %d, character = %c, line = %d\r\n"),
      nIndex, strText[0], m_myRichEditCtrl.LineFromChar(nIndex));

CRichEditCtrl::LineIndex

Récupère l’index de caractère d’une ligne dans cet CRichEditCtrl objet.

int LineIndex(int nLine = -1) const;

Paramètres

nLine
Contient la valeur d’index de la ligne souhaitée dans le texte du contrôle d’édition ou contient -1. S’il nLine s’agit de -1, il spécifie la ligne actuelle, autrement dit, la ligne qui contient le caret.

Valeur de retour

Index de caractère de la ligne spécifiée dans nLine ou -1 si le numéro de ligne spécifié est supérieur au nombre de lignes dans le contrôle d’édition.

Notes

L’index de caractères est le nombre de caractères du début du contrôle d’édition enrichi à la ligne spécifiée.

Pour plus d’informations, consultez EM_LINEINDEX le Kit de développement logiciel (SDK) Windows.

Exemple

// The string for replacing.
LPCTSTR lpszmyString = _T("Hello, I'm the new second line.");

int nBegin, nEnd, nIndex;

// Replace the second line, if it exists, of the rich edit control
// with the text lpszmyString.
nIndex = m_myRichEditCtrl.LineIndex(1);
if ((nBegin = nIndex) != -1)
{
   nEnd = nBegin + m_myRichEditCtrl.LineLength(nIndex);
   m_myRichEditCtrl.SetSel(nBegin, nEnd);
   m_myRichEditCtrl.ReplaceSel(lpszmyString);
}

CRichEditCtrl::LineLength

Récupère la longueur d’une ligne dans un contrôle d’édition enrichi.

int LineLength(int nLine = -1) const;

Paramètres

nLine
Spécifie l’index de caractère d’un caractère dans la ligne dont la longueur doit être récupérée. Si ce paramètre est -1, la longueur de la ligne active (la ligne qui contient le trait) est retournée, sans inclure la longueur d’un texte sélectionné dans la ligne. Lorsqu’il LineLength est appelé pour un contrôle d’édition à ligne unique, ce paramètre est ignoré.

Valeur de retour

Lorsqu’elle LineLength est appelée pour un contrôle d’édition à plusieurs lignes, la valeur de retour est la longueur (en TCHAR) de la ligne spécifiée par nLine. Il n’inclut pas le caractère retour chariot à la fin de la ligne. Lorsqu’elle LineLength est appelée pour un contrôle d’édition à une seule ligne, la valeur de retour est la longueur (in TCHAR) du texte dans le contrôle d’édition. Si nLine elle est supérieure au nombre de caractères dans le contrôle, la valeur de retour est égale à zéro.

Notes

Utilisez la LineIndex fonction membre pour récupérer un index de caractères pour un numéro de ligne donné dans cet CRichEditCtrl objet.

Pour plus d’informations, consultez EM_LINELENGTH le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour LineIndex.

CRichEditCtrl::LineScroll

Fait défiler le texte d’un contrôle d’édition à plusieurs lignes.

void LineScroll(
    int nLines,
    int nChars = 0);

Paramètres

nLines
Spécifie le nombre de lignes à faire défiler verticalement.

nChars
Spécifie le nombre de positions de caractères à faire défiler horizontalement. Cette valeur est ignorée si le contrôle d’édition enrichi a le ou ES_CENTER le ES_RIGHT style. Les styles d’édition sont spécifiés dans Create.

Notes

Le contrôle d’édition ne fait pas défiler verticalement la dernière ligne de texte dans le contrôle d’édition. Si la ligne actuelle plus le nombre de lignes spécifiées dépasse nLines le nombre total de lignes dans le contrôle d’édition, la valeur est ajustée afin que la dernière ligne du contrôle d’édition soit affichée en haut de la fenêtre de contrôle d’édition.

LineScroll peut être utilisé pour faire défiler horizontalement le dernier caractère de n’importe quelle ligne.

Pour plus d’informations, consultez EM_LINESCROLL le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour GetFirstVisibleLine.

CRichEditCtrl::Paste

Insère les données du Presse-papiers dans le CRichEditCtrl point d’insertion, à l’emplacement du point d’insertion.

void Paste();

Notes

Les données sont insérées uniquement si le Presse-papiers contient des données dans un format reconnu.

Pour plus d’informations, consultez WM_PASTE le Kit de développement logiciel (SDK) Windows.

Exemple

// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();

CRichEditCtrl::PasteSpecial

Colle des données dans un format Presse-papiers spécifique dans cet CRichEditCtrl objet.

void PasteSpecial(
    UINT nClipFormat,
    DWORD dvAspect = 0,
    HMETAFILE hMF = 0);

Paramètres

nClipFormat
Format du Presse-papiers à coller dans cet CRichEditCtrl objet.

dvAspect
Aspect de l’appareil pour que les données soient récupérées dans le Presse-papiers.

hMF
Gérez le métafichier contenant l’affichage emblématique de l’objet à coller.

Notes

Le nouveau matériau est inséré au point d’insertion, à l’emplacement du point d’insertion.

Pour plus d’informations, consultez EM_PASTESPECIAL le Kit de développement logiciel (SDK) Windows.

Exemple

// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);

CRichEditCtrl::PosFromChar

Récupère les coordonnées de zone cliente d’un caractère spécifié dans un contrôle d’édition.

CPoint PosFromChar(UINT nChar) const;

Paramètres

nChar
Index de base zéro du caractère.

Valeur de retour

Position du caractère, (x, y). Pour un contrôle d’édition à ligne unique, la coordonnée y est toujours égale à zéro.

Notes

Pour plus d’informations, consultez EM_POSFROMCHAR le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::Redo

Rétablit l’action suivante dans la file d’attente de rétablissement du contrôle.

BOOL Redo();

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Pour plus d’informations, consultez EM_REDO le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::ReplaceSel

Remplace la sélection actuelle dans cet CRichEditCtrl objet par le texte spécifié.

void ReplaceSel(
    LPCTSTR lpszNewText,
    BOOL bCanUndo = FALSE);

Paramètres

lpszNewText
Pointeur vers une chaîne terminée par null contenant le texte de remplacement.

bCanUndo
Pour spécifier que cette fonction peut être annulée, définissez la valeur de ce paramètre TRUEsur . La valeur par défaut est FALSE.

Notes

Pour remplacer tout le texte de cet CRichEditCtrl objet, utilisez CWnd::SetWindowText.

S’il n’existe aucune sélection actuelle, le texte de remplacement est inséré au point d’insertion, c’est-à-dire l’emplacement du point d’insertion actuel.

Cette fonction mettra en forme le texte inséré avec la mise en forme de caractères existante. Lorsque vous remplacez toute la plage de texte (en appelant SetSel(0,-1) avant d’appeler ReplaceSel), il existe une fin de paragraphe qui conserve la mise en forme du paragraphe précédent, qui est héritée par le texte nouvellement inséré.

Pour plus d’informations, consultez EM_REPLACESEL le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour LineIndex.

CRichEditCtrl::RequestResize

Force cet CRichEditCtrl objet à envoyer EN_REQUESTRESIZE des messages de notification à sa fenêtre parente.

void RequestResize();

Notes

Cette fonction est utile pendant le CWnd::OnSize traitement d’un objet sans CRichEditCtrl fond.

Pour plus d’informations, consultez le EM_REQUESTRESIZE message et la section Contrôles d’édition enrichi sans fin des contrôles à propos des contrôles d’édition enrichie dans le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::SetAutoURLDetect

Définit le contrôle d’édition enrichi pour détecter automatiquement une URL.

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

Paramètres

bEnable
Spécifie si le contrôle est défini pour détecter automatiquement une URL. Si TRUE, il est activé. Si FALSE, il est désactivé.

Valeur de retour

Zéro si elle réussit, sinon différente de zéro. Par exemple, le message peut échouer en raison d’une mémoire insuffisante.

Notes

Si cette option est activée, le contrôle d’édition enrichi analyse le texte pour déterminer s’il correspond à un format d’URL standard. Pour obtenir la liste de ces formats d’URL, consultez EM_AUTOURLDETECT le Kit de développement logiciel (SDK) Windows.

Remarque

Ne définissez SetAutoURLDetectTRUE pas la valeur si votre contrôle d’édition utilise l’effet pour le CFE_LINK texte autre que les URL. SetAutoURLDetect active cet effet pour les URL et le désactive pour tout autre texte. Pour plus d’informations sur l’effetCFE_LINK, consultez EN_LINK.

CRichEditCtrl::SetBackgroundColor

Définit la couleur d’arrière-plan de cet CRichEditCtrl objet.

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

Paramètres

bSysColor
Indique si la couleur d’arrière-plan doit être définie sur la valeur système. Si cette valeur est TRUE, cr est ignorée.

cr
Couleur d’arrière-plan demandée. Utilisé uniquement si bSysColor c’est FALSE.

Valeur de retour

Couleur d’arrière-plan précédente pour cet CRichEditCtrl objet.

Notes

La couleur d’arrière-plan peut être définie sur la valeur système ou sur une valeur spécifiée COLORREF .

Pour plus d’informations, consultez EM_SETBKGNDCOLOR message et COLORREF structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));

CRichEditCtrl::SetDefaultCharFormat

Définit les attributs de mise en forme des caractères pour le nouveau texte de cet CRichEditCtrl objet.

BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);

Paramètres

cf
Dans la première version, pointeur vers une CHARFORMAT structure contenant les nouveaux attributs de mise en forme de caractères par défaut.

Dans la deuxième version, pointeur vers une CHARFORMAT2 structure, qui est une extension Rich Edit 2.0 à la CHARFORMAT structure, contenant les attributs de mise en forme de caractères par défaut.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Seuls les attributs spécifiés par le dwMask membre de cf cette fonction sont modifiés.

Pour plus d’informations, consultez le EM_SETCHARFORMAT message et les CHARFORMATCHARFORMAT2 structures dans le Kit de développement logiciel (SDK) Windows.

Exemple

CHARFORMAT cf = {0};

// Modify the default character format so that all new
// text is striked out and not bold.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_STRIKEOUT;
m_myRichEditCtrl.SetDefaultCharFormat(cf);

// Verify the settings are what is expected.
m_myRichEditCtrl.GetDefaultCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
       (CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_STRIKEOUT);

CRichEditCtrl::SetEventMask

Définit le masque d’événement pour cet CRichEditCtrl objet.

DWORD SetEventMask(DWORD dwEventMask);

Paramètres

dwEventMask
Nouveau masque d’événement pour cet CRichEditCtrl objet.

Valeur de retour

Masque d’événement précédent.

Notes

Le masque d’événement spécifie les messages de notification que l’objet CRichEditCtrl envoie à sa fenêtre parente.

Pour plus d’informations, consultez EM_SETEVENTMASK le Kit de développement logiciel (SDK) Windows.

Exemple

// Set the event mask so that the parent gets notified when the text
// of the rich edit control changes.
m_myRichEditCtrl.SetEventMask(m_myRichEditCtrl.GetEventMask() |
                              ENM_CHANGE);

CRichEditCtrl::SetModify

Définit ou efface l’indicateur modifié pour un contrôle d’édition.

void SetModify(BOOL bModified = TRUE);

Paramètres

bModified
Une valeur indiquant TRUE que le texte a été modifié et qu’une valeur indique FALSE qu’il n’est pas modifié. Par défaut, l’indicateur modifié est défini.

Notes

L’indicateur modifié indique si le texte du contrôle d’édition a été modifié ou non. Elle est automatiquement définie chaque fois que l’utilisateur modifie le texte. Sa valeur peut être récupérée avec la GetModify fonction membre.

Pour plus d’informations, consultez EM_SETMODIFY le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour GetModify.

CRichEditCtrl::SetOLECallback

Donne à cet CRichEditCtrl objet un IRichEditOleCallback objet à utiliser pour accéder aux ressources et informations liées à OLE.

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

Paramètres

pCallback
Pointeur vers un IRichEditOleCallback objet que cet CRichEditCtrl objet utilisera pour obtenir des ressources et des informations liées à OLE.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Cet CRichEditCtrl objet appelle IUnknown::AddRef pour incrémenter le nombre d’utilisations de l’objet COM spécifié par pCallback.

Pour plus d’informations, consultez EM_SETOLECALLBACK le message et IRichEditOleCallback l’interface dans le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::SetOptions

Définit les options de cet CRichEditCtrl objet.

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

Paramètres

wOp
Indique le type d’opération. Une des valeurs suivantes :

  • ECOOP_SET Définissez les options sur celles spécifiées par dwFlags.

  • ECOOP_OR Combinez les options actuelles avec celles spécifiées par dwFlags.

  • ECOOP_AND Conservez uniquement les options actuelles qui sont également spécifiées par dwFlags.

  • ECOOP_XOR Exclusive logiquement OU les options actuelles avec celles spécifiées par dwFlags.

dwFlags
Options de modification enrichies. Les valeurs d’indicateur sont répertoriées dans la section Remarques.

Notes

Les options peuvent être une combinaison des valeurs suivantes :

  • ECO_AUTOWORDSELECTION Sélection automatique de mots en double-clic.

  • ECO_AUTOVSCROLL Fait défiler automatiquement le texte vers la droite de 10 caractères lorsque l’utilisateur tape un caractère à la fin de la ligne. Lorsque l’utilisateur appuie sur la touche Entrée, le contrôle fait défiler tout le texte jusqu’à la position zéro.

  • ECO_AUTOHSCROLL Fait défiler automatiquement le texte vers le haut d’une page lorsque l’utilisateur appuie sur la touche Entrée sur la dernière ligne.

  • ECO_NOHIDESEL Annule le comportement par défaut d’un contrôle d’édition. Le comportement par défaut masque la sélection lorsque le contrôle perd le focus d’entrée et affiche la sélection lorsque le contrôle reçoit le focus d’entrée. Si vous spécifiez ECO_NOHIDESEL, le texte sélectionné est inversé, même si le contrôle n’a pas le focus.

  • ECO_READONLY Empêche l’utilisateur de taper ou de modifier du texte dans le contrôle d’édition.

  • ECO_WANTRETURN Spécifie qu’un retour chariot doit être inséré lorsque l’utilisateur appuie sur la touche ENTRÉE tout en entrant du texte dans un contrôle d’édition enrichi à plusieurs lignes dans une boîte de dialogue. Si vous ne spécifiez pas ce style, l’appui sur la touche Entrée envoie une commande à la fenêtre parente du contrôle d’édition enrichi, qui imite le clic sur le bouton par défaut de la fenêtre parente (par exemple, le bouton OK dans une boîte de dialogue). Ce style n’a aucun effet sur un contrôle d’édition à ligne unique.

  • ECO_SAVESEL Conserve la sélection lorsque le contrôle perd le focus. Par défaut, le contenu entier du contrôle est sélectionné lorsqu’il récupère le focus.

  • ECO_VERTICAL Dessine du texte et des objets dans une direction verticale. Disponible uniquement pour les langues asiatiques.

Pour plus d’informations, consultez EM_SETOPTIONS le Kit de développement logiciel (SDK) Windows.

Exemple

// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
                                          ECO_AUTOHSCROLL);

CRichEditCtrl::SetParaFormat

Définit les attributs de mise en forme de paragraphe pour la sélection actuelle dans cet CRichEditCtrl objet.

BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);

Paramètres

pf
Dans la première version, pointeur vers une PARAFORMAT structure contenant les nouveaux attributs de mise en forme de paragraphe par défaut.

Dans la deuxième version, un pointeur vers une PARAFORMAT2 structure, qui est une extension Rich Edit 2.0 à la PARAFORMAT structure, contenant les attributs de mise en forme de caractères par défaut.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Seuls les attributs spécifiés par le dwMask membre de pf cette fonction sont modifiés.

Pour plus d’informations, consultez le EM_SETPARAFORMAT message et les PARAFORMATPARAFORMAT2 structures dans le Kit de développement logiciel (SDK) Windows.

Exemple

PARAFORMAT pf;

// Modify the paragraph format so that the text is centered.
pf.cbSize = sizeof(PARAFORMAT);
pf.dwMask = PFM_ALIGNMENT;
pf.wAlignment = PFA_CENTER;
m_myRichEditCtrl.SetParaFormat(pf);

// Verify the settings are what is expected.
m_myRichEditCtrl.GetParaFormat(pf);
ASSERT(pf.dwMask &PFM_ALIGNMENT);
ASSERT(pf.wAlignment == PFA_CENTER);

CRichEditCtrl::SetPunctuation

Définit la ponctuation dans un contrôle d’édition enrichi.

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

Paramètres

fType
Indicateur de ponctuation. Pour obtenir la liste des valeurs possibles, consultez le fType paramètre correspondant EM_SETPUNCTUATION dans le Kit de développement logiciel (SDK) Windows.

lpPunc
Pointeur vers une PUNCTUATION structure, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Différent de zéro s’il réussit, sinon 0.

Notes

Cette fonction membre est disponible uniquement pour les versions asiatiques du système d’exploitation.

CRichEditCtrl::SetReadOnly

Modifie l’option ECO_READONLY de cet CRichEditCtrl objet.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Paramètres

bReadOnly
Indique si cet CRichEditCtrl objet doit être lu uniquement.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Pour obtenir une brève description de cette option, consultez SetOptions. Vous pouvez utiliser cette fonction pour définir toutes les options de cet CRichEditCtrl objet.

Pour plus d’informations, consultez EM_SETREADONLY le Kit de développement logiciel (SDK) Windows.

Exemple

// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);

CRichEditCtrl::SetRect

Définit le rectangle de mise en forme de cet CRichEditCtrl objet.

void SetRect(LPCRECT lpRect);

Paramètres

lpRect
CRect ou pointeur vers un RECT pointeur qui indique les nouvelles limites du rectangle de mise en forme.

Notes

Le rectangle de mise en forme est le rectangle de limitation du texte. Le rectangle de limitation est indépendant de la taille de la fenêtre de contrôle d’édition enrichie. Lorsque cet CRichEditCtrl objet est créé pour la première fois, le rectangle de mise en forme est de la même taille que la zone cliente de la fenêtre. Permet SetRect de rendre le rectangle de mise en forme plus grand ou plus petit que la fenêtre d’édition enrichie.

Pour plus d’informations, consultez EM_SETRECT le Kit de développement logiciel (SDK) Windows.

Exemple

CRect r;

m_myRichEditCtrl.GetRect(&r);

// Reduce the formatting rect of the rich edit control by
// 10 pixels on each side.
if ((r.Width() > 20) && (r.Height() > 20))
{
   r.DeflateRect(0, 20);
   m_myRichEditCtrl.SetRect(&r);
}

CRichEditCtrl::SetSel

Définit la sélection dans cet CRichEditCtrl objet.

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

Paramètres

nStartChar
Index de base zéro du premier caractère de la sélection.

nEndChar
Index de base zéro du dernier caractère de la sélection.

cr
CHARRANGE structure qui contient les limites de la sélection actuelle.

Notes

Les deux formes de cette fonction fournissent d’autres façons de définir les limites de la sélection. Voici quelques descriptions de ces formulaires :

  • SetSel(cr) Ce formulaire utilise la CHARRANGE structure avec ses membres et cpMax ses cpMin membres pour définir les limites.

  • SetSel(nStartChar,nEndChar) Ce formulaire utilise les paramètres nStartChar et nEndChar pour définir les limites.

Le pointeur est placé à la fin de la sélection indiquée par le plus grand des index de début (cpMin ou nStartChar) et de fin (cpMax ou nEndChar). Cette fonction fait défiler le contenu du CRichEditCtrl point de vue pour que le point d’insertion soit visible.

Pour sélectionner tout le texte de cet CRichEditCtrl objet, appelez SetSel avec un index de début de 0 et un index de fin de - 1.

Pour plus d’informations, consultez EM_EXSETSEL message et CHARRANGE structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour GetSel.

CRichEditCtrl::SetSelectionCharFormat

Définit les attributs de mise en forme des caractères pour le texte de la sélection actuelle dans cet CRichEditCtrl objet.

BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);

Paramètres

cf
Dans la première version, pointeur vers une CHARFORMAT structure contenant les nouveaux attributs de mise en forme de caractères pour la sélection actuelle.

Dans la deuxième version, pointeur vers une CHARFORMAT2 structure, qui est une extension Rich Edit 2.0 à la CHARFORMAT structure, contenant les nouveaux attributs de mise en forme de caractères pour la sélection actuelle.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Seuls les attributs spécifiés par le dwMask membre de cf sont modifiés par cette fonction.

Pour plus d’informations, consultez les structures et CHARFORMAT2 les EM_SETCHARFORMATCHARFORMAT éléments du Kit de développement logiciel (SDK) Windows.

Exemple

CHARFORMAT cf;

// Modify the selection format so that the selected text is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetSelectionCharFormat(cf);

// Verify the settings are what is expected.
m_myRichEditCtrl.GetSelectionCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
       (CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_BOLD);

CRichEditCtrl::SetTargetDevice

Définit l’appareil cible et la largeur de ligne utilisés pour WYSIWYG (ce que vous voyez est ce que vous obtenez) mise en forme dans cet CRichEditCtrl objet.

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

Paramètres

hDC
Gérez le contexte de l’appareil pour le nouvel appareil cible.

lLineWidth
Largeur de ligne à utiliser pour la mise en forme.

dc
CDC pour le nouvel appareil cible.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Si cette fonction réussit, le contrôle d’édition enrichi possède le contexte de l’appareil passé en tant que paramètre. Dans ce cas, la fonction appelante ne doit pas détruire le contexte de l’appareil.

Pour plus d’informations, consultez EM_SETTARGETDEVICE le Kit de développement logiciel (SDK) Windows.

Exemple

// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
   CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());

   // Get line width information from the printer.
   long lLineWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
                              1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));

   // Set the printer as the target device.
   m_myRichEditCtrl.SetTargetDevice(*pMyPrinterDC, lLineWidth);

   pMyPrinterDC->DeleteDC();
}

CRichEditCtrl::SetTextMode

Définit le mode texte ou annuler et rétablir le niveau pour un contrôle d’édition enrichi.

BOOL SetTextMode(UINT fMode);

Paramètres

fMode
Spécifie les nouveaux paramètres pour le mode texte du contrôle et annule les paramètres de niveau. Pour obtenir la liste des valeurs possibles, consultez le paramètre de mode dans EM_SETTEXTMODE le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Zéro si elle réussit, sinon différente de zéro.

Notes

Pour obtenir une description des modes de texte, consultez EM_SETTEXTMODE le Kit de développement logiciel (SDK) Windows.

Cette fonction membre échoue si le contrôle contient du texte. Pour vous assurer que le contrôle est vide, envoyez un WM_SETTEXT message avec une chaîne vide.

CRichEditCtrl::SetUndoLimit

Définit le nombre maximal d’actions pouvant être stockées dans la file d’attente d’annulation.

UINT SetUndoLimit(UINT nLimit);

Paramètres

nLimit
Spécifie le nombre maximal d’actions qui peuvent être stockées dans la file d’attente d’annulation. Définissez la valeur zéro pour désactiver l’annulation.

Valeur de retour

Nouveau nombre maximal d’actions d’annulation pour le contrôle d’édition enrichi.

Notes

Par défaut, le nombre maximal d’actions dans la file d’attente d’annulation est de 100. Si vous augmentez ce nombre, il doit y avoir suffisamment de mémoire disponible pour prendre en charge le nouveau nombre. Pour de meilleures performances, définissez la limite sur la plus petite valeur possible.

CRichEditCtrl::SetWordCharFormat

Définit les attributs de mise en forme des caractères pour le mot actuellement sélectionné dans cet CRichEditCtrl objet.

BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);

Paramètres

cf
Dans la première version, pointeur vers une CHARFORMAT structure contenant les nouveaux attributs de mise en forme de caractères pour le mot actuellement sélectionné.

Dans la deuxième version, pointeur vers une CHARFORMAT2 structure, qui est une extension Rich Edit 2.0 à la CHARFORMAT structure, contenant les nouveaux attributs de mise en forme de caractères pour le mot actuellement sélectionné.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Seuls les attributs spécifiés par le dwMask membre de cf cette fonction sont modifiés.

Pour plus d’informations, consultez le EM_SETCHARFORMAT message et les CHARFORMATCHARFORMAT2 structures dans le Kit de développement logiciel (SDK) Windows.

Exemple

CHARFORMAT cf;

// Modify the word format so that the selected word is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetWordCharFormat(cf);

CRichEditCtrl::SetWordWrapMode

Définit les options word-wrapping et word-breaking pour le contrôle d’édition enrichi.

UINT SetWordWrapMode(UINT uFlags) const;

Paramètres

uFlags
Options à définir pour l’habillage de mots et le saut de mot. Pour obtenir la liste des options possibles, consultez EM_SETWORDWRAPMODE le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Options d’habillage de mots et de rupture de mots actuelles.

Notes

Ce message est disponible uniquement dans les versions asiatiques du système d’exploitation.

CRichEditCtrl::StopGroupTyping

Empêche le contrôle de collecter des actions de saisie supplémentaires dans l’action d’annulation actuelle.

void StopGroupTyping();

Notes

Le contrôle stocke l’action de saisie suivante, le cas échéant, dans une nouvelle action dans la file d’attente d’annulation.

Pour plus d’informations, consultez EM_STOPGROUPTYPING le Kit de développement logiciel (SDK) Windows.

CRichEditCtrl::StreamIn

Remplace le texte de cet CRichEditCtrl objet par du texte du flux d’entrée spécifié.

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

Paramètres

nFormat
Indicateurs spécifiant les formats de données d’entrée. Pour plus d'informations, consultez la section Notes.

es
EDITSTREAM structure spécifiant le flux d’entrée. Pour plus d'informations, consultez la section Notes.

Valeur de retour

Nombre de caractères lus à partir du flux d’entrée.

Notes

La valeur de nFormat doit être l’une des suivantes :

  • SF_TEXT Indique uniquement la lecture du texte.

  • SF_RTF Indique la lecture du texte et la mise en forme.

L’une de ces valeurs peut être combinée avec SFF_SELECTION. Si SFF_SELECTION elle est spécifiée, StreamIn remplace la sélection actuelle par le contenu du flux d’entrée. S’il n’est pas spécifié, StreamIn remplace l’intégralité du contenu de cet CRichEditCtrl objet.

Dans le EDITSTREAM paramètre es, vous spécifiez une fonction de rappel qui remplit une mémoire tampon avec du texte. Cette fonction de rappel est appelée à plusieurs reprises, jusqu’à ce que le flux d’entrée soit épuisé.

Pour plus d’informations, consultez EM_STREAMIN message et EDITSTREAM structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

// My callback procedure that reads the rich edit control contents
// from a file.
static DWORD CALLBACK 
MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
   CFile* pFile = (CFile*) dwCookie;

   *pcb = pFile->Read(pbBuff, cb);

   return 0;
}

 

// The example code.

// The file from which to load the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_InFile.rtf"), CFile::modeRead);
EDITSTREAM es;

es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamInCallback;
m_myRichEditCtrl.StreamIn(SF_RTF, es);

CRichEditCtrl::StreamOut

Écrit le contenu de cet CRichEditCtrl objet dans le flux de sortie spécifié.

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

Paramètres

nFormat
Indicateurs spécifiant les formats de données de sortie. Pour plus d'informations, consultez la section Notes.

es
EDITSTREAM structure spécifiant le flux de sortie. Pour plus d'informations, consultez la section Notes.

Valeur de retour

Nombre de caractères écrits dans le flux de sortie.

Notes

La valeur de nFormat doit être l’une des suivantes :

  • SF_TEXT Indique uniquement l’écriture de texte.

  • SF_RTF Indique l’écriture de texte et de mise en forme.

  • SF_RTFNOOBJS Indique l’écriture de texte et de mise en forme, en remplaçant les éléments OLE par des espaces.

  • SF_TEXTIZED Indique l’écriture de texte et de mise en forme, avec des représentations textuelles d’éléments OLE.

L’une de ces valeurs peut être combinée avec SFF_SELECTION. Si SFF_SELECTION elle est spécifiée, StreamOut écrit la sélection actuelle dans le flux de sortie. S’il n’est pas spécifié, StreamOut écrit l’intégralité du contenu de cet CRichEditCtrl objet.

Dans le EDITSTREAM paramètre es, vous spécifiez une fonction de rappel qui remplit une mémoire tampon avec du texte. Cette fonction de rappel est appelée à plusieurs reprises, jusqu’à ce que le flux de sortie soit épuisé.

Pour plus d’informations, consultez EM_STREAMOUT message et EDITSTREAM structure dans le Kit de développement logiciel (SDK) Windows.

Exemple

// My callback procedure that writes the rich edit control contents
// to a file.
static DWORD CALLBACK 
MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
   CFile* pFile = (CFile*) dwCookie;

   pFile->Write(pbBuff, cb);
   *pcb = cb;

   return 0;
}

 

// The example code.

// The file to store the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_OutFile.rtf"),
            CFile::modeCreate | CFile::modeWrite);
EDITSTREAM es;

es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamOutCallback;
m_myRichEditCtrl.StreamOut(SF_RTF, es);

CRichEditCtrl::Undo

Annule la dernière opération dans le contrôle d’édition enrichi.

BOOL Undo();

Valeur de retour

Différent de zéro si l’opération d’annulation réussit ; sinon, 0.

Notes

Une opération d’annulation peut également être annulée. Par exemple, vous pouvez restaurer le texte supprimé avec le premier appel à Undo. Tant qu’il n’y a pas d’opération de modification intermédiaire, vous pouvez supprimer à nouveau le texte avec un deuxième appel à Undo.

Pour plus d’informations, consultez EM_UNDO le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CanUndo.

Voir aussi

Exemple WORDPAD MFC
CWnd Classe
Graphique hiérarchique
CEdit Classe
CRichEditView Classe