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
CRichEditCtrl
Spécifications
En-tête : afxcmn.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 AfxInitRichEdit
globale, 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_NCCREATE
messages , et WM_NCCALCSIZE
WM_CREATE
WM_GETMINMAXINFO
les messages au contrôle d’édition.
Ces messages sont gérés par défaut par les OnNcCreate
fonctions membres et OnCreate
OnGetMinMaxInfo
, OnNcCalcSize
par 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
Habituellement.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 Create
contrô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 SetWindowText
membre.
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 wParam
EM_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 CHARFORMAT
CHARFORMAT2
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 PARAFORMAT
PARAFORMAT2
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 laCHARRANGE
structure avec ses membres etcpMax
sescpMin
membres pour retourner les limites.GetSel(
nStartChar
, )nEndChar
Ce formulaire retourne les limites dans les paramètresnStartChar
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 CHARFORMAT
CHARFORMAT2
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 danslpBuf
, 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 TRUE
le 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 TRUE
sur . 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 SetAutoURLDetect
TRUE
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 CHARFORMAT
CHARFORMAT2
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 pardwFlags
.ECOOP_OR
Combinez les options actuelles avec celles spécifiées pardwFlags
.ECOOP_AND
Conservez uniquement les options actuelles qui sont également spécifiées pardwFlags
.ECOOP_XOR
Exclusive logiquement OU les options actuelles avec celles spécifiées pardwFlags
.
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écifiezECO_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 PARAFORMAT
PARAFORMAT2
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 laCHARRANGE
structure avec ses membres etcpMax
sescpMin
membres pour définir les limites.SetSel(
nStartChar
, )nEndChar
Ce formulaire utilise les paramètresnStartChar
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_SETCHARFORMAT
CHARFORMAT
é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 CHARFORMAT
CHARFORMAT2
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