CRichEditView, classe
Avec CRichEditDoc et CRichEditCntrItem, fournit les fonctionnalités du contrôle d’édition enrichi dans le contexte de l’architecture de la vue de document de MFC.
Syntaxe
class CRichEditView : public CCtrlView
Membres
Constructeurs publics
Nom | Description |
---|---|
CRichEditView ::CRichEditView | Construit un objet CRichEditView . |
Méthodes publiques
Nom | Description |
---|---|
CRichEditView ::AdjustDialogPosition | Déplace une boîte de dialogue afin qu’elle ne masque pas la sélection actuelle. |
CRichEditView ::CanPaste | Indique si le Presse-papiers contient des données qui peuvent être collées dans la vue d’édition enrichie. |
CRichEditView ::D oPaste | Colle un élément OLE dans cette vue d’édition enrichie. |
CRichEditView ::FindText | Recherche le texte spécifié, en appelant le curseur d’attente. |
CRichEditView ::FindTextSimple | Recherche le texte spécifié. |
CRichEditView ::GetCharFormatSelection | Récupère les attributs de mise en forme des caractères pour la sélection actuelle. |
CRichEditView ::GetDocument | Récupère un pointeur vers le CRichEditDoc associé. |
CRichEditView ::GetInPlaceActiveItem | Récupère l’élément OLE actuellement actif dans la vue d’édition enrichie. |
CRichEditView ::GetMargins | Récupère les marges de cette vue d’édition enrichie. |
CRichEditView ::GetPageRect | Récupère le rectangle de page pour cet affichage d’édition enrichi. |
CRichEditView ::GetPaperSize | Récupère le format de papier pour cette vue d’édition enrichie. |
CRichEditView ::GetParaFormatSelection | Récupère les attributs de mise en forme des paragraphes pour la sélection actuelle. |
CRichEditView ::GetPrintRect | Récupère le rectangle d’impression pour cet affichage d’édition enrichi. |
CRichEditView ::GetPrintWidth | Récupère la largeur d’impression de cet affichage d’édition enrichi. |
CRichEditView ::GetRichEditCtrl | Récupère le contrôle d’édition enrichi. |
CRichEditView ::GetSelectedItem | Récupère l’élément sélectionné à partir de l’affichage d’édition enrichi. |
CRichEditView ::GetTextLength | Récupère la longueur du texte dans la vue d’édition enrichie. |
CRichEditView ::GetTextLengthEx | Récupère le nombre de caractères ou d’octets dans la vue d’édition enrichie. Liste d’indicateurs développée pour la méthode de détermination de la longueur. |
CRichEditView ::InsertFileAsObject | Insère un fichier en tant qu’élément OLE. |
CRichEditView ::InsertItem | Insère un nouvel élément en tant qu’élément OLE. |
CRichEditView ::IsRichEditFormat | Indique si le Presse-papiers contient des données dans un format enrichi de modification ou de texte. |
CRichEditView ::OnCharEffect | Bascule la mise en forme des caractères pour la sélection actuelle. |
CRichEditView ::OnParaAlign | Modifie l’alignement des paragraphes. |
CRichEditView ::OnUpdateCharEffect | Met à jour l’interface utilisateur de commande pour les fonctions de membre public de caractères. |
CRichEditView ::OnUpdateParaAlign | Met à jour l’interface utilisateur de commande pour les fonctions membres publiques de paragraphe. |
CRichEditView ::P rintInsideRect | Met en forme le texte spécifié dans le rectangle donné. |
CRichEditView ::P rintPage | Met en forme le texte spécifié dans la page donnée. |
CRichEditView ::SetCharFormat | Définit les attributs de mise en forme des caractères pour la sélection actuelle. |
CRichEditView ::SetMargins | Définit les marges de cette vue d’édition enrichie. |
CRichEditView ::SetPaperSize | Définit la taille du papier pour cette vue d’édition enrichie. |
CRichEditView ::SetParaFormat | Définit les attributs de mise en forme des paragraphes pour la sélection actuelle. |
CRichEditView ::TextNotFound | Réinitialise l’état de recherche interne du contrôle. |
Méthodes protégées
Nom | Description |
---|---|
CRichEditView ::GetClipboardData | Récupère un objet Presse-papiers pour une plage dans cette vue d’édition enrichie. |
CRichEditView ::GetContextMenu | Récupère un menu contextuel à utiliser sur un bouton droit vers le bas. |
CRichEditView ::Isselected | Indique si l’élément OLE donné est sélectionné ou non. |
CRichEditView ::OnFindNext | Recherche l’occurrence suivante d’une sous-chaîne. |
CRichEditView ::OnInitialUpdate | Actualise une vue lorsqu’elle est attachée pour la première fois à un document. |
CRichEditView ::OnPasteNativeObject | Récupère des données natives à partir d’un élément OLE. |
CRichEditView ::OnPrinterChanged | Définit les caractéristiques d’impression sur l’appareil donné. |
CRichEditView ::OnReplaceAll | Remplace toutes les occurrences d’une chaîne donnée par une nouvelle chaîne. |
CRichEditView ::OnReplaceSel | Remplace la sélection actuelle. |
CRichEditView ::OnTextNotFound | Gère la notification utilisateur indiquant que le texte demandé n’a pas été trouvé. |
CRichEditView ::QueryAcceptData | Requêtes pour voir les données sur le IDataObject . |
CRichEditView ::WrapChanged | Ajuste l’appareil de sortie cible pour cette vue d’édition enrichie, en fonction de la valeur de m_nWordWrap . |
Membres de données publics
Nom | Description |
---|---|
CRichEditView ::m_nBulletIndent | Indique la quantité de retrait pour les listes de puces. |
CRichEditView ::m_nWordWrap | Indique les contraintes d’habillage du mot. |
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.
CRichEditView
conserve le texte et la caractéristique de mise en forme du texte. CRichEditDoc
gère la liste des éléments clients OLE qui se trouvent dans l’affichage. CRichEditCntrItem
fournit un accès côté conteneur à l’élément client OLE.
Ce contrôle commun Windows (et par conséquent les classes CRichEditCtrl et associées) est disponible uniquement pour les programmes exécutés sous Windows 95/98 et Windows NT versions 3.51 et ultérieures.
Pour obtenir un exemple d’utilisation d’une vue d’édition enrichie dans une application MFC, consultez l’exemple d’application WORDPAD .
Hiérarchie d'héritage
CRichEditView
Spécifications
En-tête : afxrich.h
CRichEditView ::AdjustDialogPosition
Appelez cette fonction pour déplacer la boîte de dialogue donnée afin qu’elle ne masque pas la sélection actuelle.
void AdjustDialogPosition(CDialog* pDlg);
Paramètres
pDlg
Pointeur vers un CDialog
objet.
CRichEditView ::CanPaste
Appelez cette fonction pour déterminer si le Presse-papiers contient des informations qui peuvent être collées dans cette vue d’édition enrichie.
BOOL CanPaste() const;
Valeur de retour
Différent de zéro si le Presse-papiers contient des données dans un format que cette vue d’édition enrichie peut accepter ; sinon, 0.
CRichEditView ::CRichEditView
Appelez cette fonction pour créer un CRichEditView
objet.
CRichEditView();
CRichEditView ::D oPaste
Appelez cette fonction pour coller l’élément OLE dans dataobj dans ce document/vue enrichi.
void DoPaste(
COleDataObject& dataobj,
CLIPFORMAT cf,
HMETAFILEPICT hMetaPict);
Paramètres
dataobj
COleDataObject contenant les données à coller.
cf
Format de Presse-papiers souhaité.
hMetaPict
Métafichier qui représente l’élément à coller.
Notes
L’infrastructure appelle cette fonction dans le cadre de l’implémentation par défaut de QueryAcceptData.
Cette fonction détermine le type de collage en fonction des résultats du gestionnaire pour Coller spécial. Si cf est 0, le nouvel élément utilise la représentation emblématique actuelle. Si cf est différent de zéro et hMetaPict n’est pas NULL, le nouvel élément utilise hMetaPict pour sa représentation.
CRichEditView ::FindText
Appelez cette fonction pour rechercher le texte spécifié et le définir comme la sélection actuelle.
BOOL FindText(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
Paramètres
lpszFind
Contient la chaîne à rechercher.
bCase
Indique si la recherche respecte la casse.
bWord
Indique si la recherche doit correspondre uniquement à des mots entiers, et non à des parties de mots.
bNext
Indique la direction de la recherche. Si la valeur est TRUE, la direction de la recherche est vers la fin de la mémoire tampon. Si la valeur est FALSE, la direction de la recherche est vers le début de la mémoire tampon.
Valeur de retour
Différent de zéro si le texte lpszFind est trouvé ; sinon, 0.
Notes
Cette fonction affiche le curseur d’attente pendant l’opération de recherche.
Exemple
void CMyRichEditView::OnReplaceAll(LPCTSTR lpszFind, LPCTSTR lpszReplace,
BOOL bCase, BOOL bWord)
{
CWaitCursor wait;
// no selection or different than what we are looking for
if (!FindText(lpszFind, bCase, bWord))
{
OnTextNotFound(lpszFind);
return;
}
GetRichEditCtrl().HideSelection(TRUE, FALSE);
m_nNumReplaced = 0;
do
{
GetRichEditCtrl().ReplaceSel(lpszReplace);
m_nNumReplaced++; // Record the number of replacements
} while (FindTextSimple(lpszFind));
GetRichEditCtrl().HideSelection(FALSE, FALSE);
}
CRichEditView ::FindTextSimple
Appelez cette fonction pour rechercher le texte spécifié et le définir comme la sélection actuelle.
BOOL FindTextSimple(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
Paramètres
lpszFind
Contient la chaîne à rechercher.
bCase
Indique si la recherche respecte la casse.
bWord
Indique si la recherche doit correspondre uniquement à des mots entiers, et non à des parties de mots.
bNext
Indique la direction de la recherche. Si la valeur est TRUE, la direction de la recherche est vers la fin de la mémoire tampon. Si la valeur est FALSE, la direction de la recherche est vers le début de la mémoire tampon.
Valeur de retour
Différent de zéro si le texte lpszFind est trouvé ; sinon, 0.
Exemple
Consultez l’exemple de CRichEditView ::FindText.
CRichEditView ::GetCharFormatSelection
Appelez cette fonction pour obtenir les attributs de mise en forme des caractères de la sélection actuelle.
CHARFORMAT2& GetCharFormatSelection();
Valeur de retour
Structure CHARFORMAT2 qui contient les attributs de mise en forme des caractères de la sélection actuelle.
Notes
Pour plus d’informations, consultez le message EM_GETCHARFORMAT et la structure CHARFORMAT2 dans le Kit de développement logiciel (SDK) Windows.
Exemple
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView ::GetClipboardData
L’infrastructure appelle cette fonction dans le cadre du traitement de IRichEditOleCallback ::GetClipboardData.
virtual HRESULT GetClipboardData(
CHARRANGE* lpchrg,
DWORD dwReco,
LPDATAOBJECT lpRichDataObj,
LPDATAOBJECT* lplpdataobj);
Paramètres
lpchrg
Pointeur vers la structure CHARRANGE spécifiant la plage de caractères (et les éléments OLE) à copier dans l’objet de données spécifié par lplpdataobj.
dwReco
Indicateur d’opération du Presse-papiers. Il peut s’agir de l’une de ces valeurs.
RECO_COPY Copier dans le Presse-papiers.
RECO_CUT Couper dans le Presse-papiers.
RECO_DRAG opération glisser-déplacer (glisser-déplacer).
RECO_DROP opération de déplacement (glisser-déplacer).
RECO_PASTE Coller à partir du Presse-papiers.
lpRichDataObj
Pointeur vers un objet IDataObject contenant les données du Presse-papiers à partir du contrôle d’édition enrichi ( IRichEditOle ::GetClipboardData).
lplpdataobj
Pointeur vers la variable de pointeur qui reçoit l’adresse de l’objet IDataObject
représentant la plage spécifiée dans le paramètre lpchrg . La valeur de lplpdataobj est ignorée si une erreur est retournée.
Valeur de retour
Valeur HRESULT signalant la réussite de l’opération. Pour plus d’informations sur HRESULT, consultez Structure des codes d’erreur COM dans le Kit de développement logiciel (SDK) Windows.
Notes
Si la valeur de retour indique la réussite, IRichEditOleCallback::GetClipboardData
renvoie l’accès IDataObject
par lplpdataobj ; sinon, il renvoie celui accessible par lpRichDataObj. Remplacez cette fonction pour fournir vos propres données presse-papiers. L’implémentation par défaut de cette fonction retourne E_NOTIMPL.
Il s’agit d’un élément substituable avancé.
Pour plus d’informations, consultez IRichEditOle ::GetClipboardData, IRichEditOleCallback ::GetClipboardData et CHARRANGE dans le Kit de développement logiciel (SDK) Windows et voir IDataObject dans le Kit de développement logiciel (SDK) Windows.
CRichEditView ::GetContextMenu
L’infrastructure appelle cette fonction dans le cadre du traitement de IRichEditOleCallback ::GetContextMenu.
virtual HMENU GetContextMenu(
WORD seltyp,
LPOLEOBJECT lpoleobj,
CHARRANGE* lpchrg);
Paramètres
seltyp
Type de sélection. Les valeurs de type de sélection sont décrites dans la section Notes.
lpoleobj
Pointeur vers une OLEOBJECT
structure spécifiant le premier objet OLE sélectionné si la sélection contient un ou plusieurs éléments OLE. Si la sélection ne contient aucun élément, lpoleobj a la valeur NULL. La OLEOBJECT
structure contient un pointeur vers une table v-table d’objets OLE.
lpchrg
Pointeur vers une structure CHARRANGE contenant la sélection actuelle.
Valeur de retour
Gérez le menu contextuel.
Notes
Cette fonction fait généralement partie du traitement du bouton droit vers le bas.
Le type de sélection peut être n’importe quelle 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.
L’implémentation par défaut retourne NULL. Il s’agit d’un élément substituable avancé.
Pour plus d’informations, consultez IRichEditOleCallback ::GetContextMenu et CHARRANGE dans le Kit de développement logiciel (SDK) Windows.
CRichEditView ::GetDocument
Appelez cette fonction pour obtenir un pointeur vers l’élément CRichEditDoc
associé à cette vue.
CRichEditDoc* GetDocument() const;
Valeur de retour
Pointeur vers un objet CRichEditDoc associé à votre CRichEditView
objet.
CRichEditView ::GetInPlaceActiveItem
Appelez cette fonction pour obtenir l’élément OLE actuellement activé en place dans cet CRichEditView
objet.
CRichEditCntrItem* GetInPlaceActiveItem() const;
Valeur de retour
Pointeur vers l’objet CRichEditCntrItem actif unique sur place dans cette vue d’édition enrichie ; NULL s’il n’existe aucun élément OLE actuellement dans l’état actif sur place.
CRichEditView ::GetMargins
Appelez cette fonction pour récupérer les marges actuelles utilisées dans l’impression.
CRect GetMargins() const;
Valeur de retour
Marges utilisées dans l’impression, mesurées en MM_TWIPS.
CRichEditView ::GetPageRect
Appelez cette fonction pour obtenir les dimensions de la page utilisée dans l’impression.
CRect GetPageRect() const;
Valeur de retour
Limites de la page utilisée dans l’impression, mesurées en MM_TWIPS.
Notes
Cette valeur est basée sur la taille du papier.
CRichEditView ::GetPaperSize
Appelez cette fonction pour récupérer le format de papier actuel.
CSize GetPaperSize() const;
Valeur de retour
Taille du papier utilisé dans l’impression, mesurée en MM_TWIPS.
Exemple
void CMyRichEditView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
UNREFERENCED_PARAMETER(pInfo);
// Get the current paper size and construct an actual printing
// rectangle by leaving out one half inch margin from each side.
CSize sizePaper = GetPaperSize();
CRect rectMargins(720, 720, sizePaper.cx - 720,
sizePaper.cy - 720);
// Need to set the margins when printing from CRichEditView
SetMargins(rectMargins);
// Set up three rectangular regions spaced an inch apart
CRect rectHeader(0, 0, rectMargins.right, 1440);
CRect rectBody(0, 1440, rectMargins.right, 1440 * 2);
CRect rectFooter(0, 1440 * 2, rectMargins.right, 1440 * 3);
// Format the first 10 characters in the buffer.
int nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectHeader, 0, 10, TRUE); // characters 0-10
pDC->RestoreDC(nSavedDC);
// Format the second 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectBody, 10, 20, TRUE); // characters 10-20
pDC->RestoreDC(nSavedDC);
// Format the third 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectFooter, 20, 30, TRUE); // characters 20-30
pDC->RestoreDC(nSavedDC);
// CRichEditView::OnPrint(pDC, pInfo);
}
CRichEditView ::GetParaFormatSelection
Appelez cette fonction pour obtenir les attributs de mise en forme des paragraphes de la sélection actuelle.
PARAFORMAT2& GetParaFormatSelection();
Valeur de retour
Structure PARAFORMAT2 qui contient les attributs de mise en forme de paragraphe de la sélection actuelle.
Notes
Pour plus d’informations, consultez EM_GETPARAFORMAT message et PARAFORMAT2 structure dans le Kit de développement logiciel (SDK) Windows.
CRichEditView ::GetPrintRect
Appelez cette fonction pour récupérer les limites de la zone d’impression dans le rectangle de page.
CRect GetPrintRect() const;
Valeur de retour
Limites de la zone d’image utilisée dans l’impression, mesurée en MM_TWIPS.
Exemple
void CMyRichEditView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
CRect rectPrintPage = GetPrintRect(); // Measured in MM_TWIPS
pInfo->SetMaxPage((m_nDocSizeInInches * 1440) / rectPrintPage.Height());
CRichEditView::OnBeginPrinting(pDC, pInfo);
}
CRichEditView ::GetPrintWidth
Appelez cette fonction pour déterminer la largeur de la zone d’impression.
int GetPrintWidth() const;
Valeur de retour
Largeur de la zone d’impression, mesurée en MM_TWIPS.
CRichEditView ::GetRichEditCtrl
Appelez cette fonction pour récupérer l’objet CRichEditCtrl associé à l’objet CRichEditView
.
CRichEditCtrl& GetRichEditCtrl() const;
Valeur de retour
Objet CRichEditCtrl
de cette vue.
Exemple
Consultez l’exemple de CRichEditView ::FindText.
CRichEditView ::GetSelectedItem
Appelez cette fonction pour récupérer l’élément OLE (un CRichEditCntrItem
objet) actuellement sélectionné dans cet CRichEditView
objet.
CRichEditCntrItem* GetSelectedItem() const;
Valeur de retour
Pointeur vers un objet CRichEditCntrItem sélectionné dans l’objet CRichEditView
; NULL si aucun élément n’est sélectionné dans cette vue.
CRichEditView ::GetTextLength
Appelez cette fonction pour récupérer la longueur du texte dans cet CRichEditView
objet.
long GetTextLength() const;
Valeur de retour
Longueur du texte de cet CRichEditView
objet.
CRichEditView ::GetTextLengthEx
Appelez cette fonction membre pour calculer la longueur du texte dans cet CRichEditView
objet.
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 d’indicateurs de GETTEXTLENGTHEX décrit 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, consultez About Rich Edit Controls in the Windows SDK.
CRichEditView ::InsertFileAsObject
Appelez cette fonction pour insérer le fichier spécifié (en tant qu’objet CRichEditCntrItem ) dans une vue d’édition enrichie.
void InsertFileAsObject(LPCTSTR lpszFileName);
Paramètres
lpszFileName
Chaîne contenant le nom du fichier à insérer.
CRichEditView ::InsertItem
Appelez cette fonction pour insérer un objet CRichEditCntrItem dans une vue d’édition enrichie.
HRESULT InsertItem(CRichEditCntrItem* pItem);
Paramètres
pItem
Pointeur vers l’élément à insérer.
Valeur de retour
Valeur HRESULT indiquant la réussite de l’insertion.
Notes
Pour plus d’informations sur HRESULT, consultez Structure des codes d’erreur COM dans le Kit de développement logiciel (SDK) Windows.
CRichEditView ::IsRichEditFormat
Appelez cette fonction pour déterminer si cf est un format presse-papiers qui est du texte, du texte enrichi ou du texte enrichi avec des éléments OLE.
static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);
Paramètres
cf
Format du Presse-papiers intéressant.
Valeur de retour
Différent de zéro si cf est un format de montage enrichi ou de presse-papiers de texte.
CRichEditView ::Isselected
Appelez cette fonction pour déterminer si l’élément OLE spécifié est actuellement sélectionné dans cette vue.
virtual BOOL IsSelected(const CObject* pDocItem) const;
Paramètres
pDocItem
Pointeur vers un objet dans la vue.
Valeur de retour
Différent de zéro si l’objet est sélectionné ; sinon 0.
Notes
Remplacez cette fonction si votre classe de vue dérivée a une autre méthode pour gérer la sélection d’éléments OLE.
CRichEditView ::m_nBulletIndent
Mise en retrait des éléments à puces dans une liste ; par défaut, 720 unités, soit 1/2 pouces.
int m_nBulletIndent;
CRichEditView ::m_nWordWrap
Indique le type d’encapsulage de mot pour cette vue d’édition enrichie.
int m_nWordWrap;
Notes
Une des valeurs suivantes :
WrapNone
Indique qu’aucun habillage automatique de mot n’est encapsulé.WrapToWindow
Indique l’habillage de mots en fonction de la largeur de la fenêtre.WrapToTargetDevice
Indique l’habillage de mots en fonction des caractéristiques de l’appareil cible.
Exemple
Consultez l’exemple de CRichEditView ::WrapChanged.
CRichEditView ::OnCharEffect
Appelez cette fonction pour activer/désactiver les effets de mise en forme des caractères pour la sélection actuelle.
void OnCharEffect(
DWORD dwMask,
DWORD dwEffect);
Paramètres
dwMask
Effets de mise en forme des caractères à modifier dans la sélection actuelle.
dwEffect
Liste souhaitée des effets de mise en forme des caractères à activer/désactiver.
Notes
Chaque appel à cette fonction bascule les effets de mise en forme spécifiés pour la sélection actuelle.
Pour plus d’informations sur les paramètres dwMask et dwEffect et leurs valeurs potentielles, consultez les membres de données correspondants de CHARFORMAT dans le Kit de développement logiciel (SDK) Windows.
Exemple
void CMyRichEditView::OnItalic()
{
OnCharEffect(CFM_ITALIC, CFE_ITALIC);
}
CRichEditView ::OnFindNext
Appelé par l’infrastructure lors du traitement des commandes à partir de la boîte de dialogue Rechercher/Remplacer.
virtual void OnFindNext(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord);
Paramètres
lpszFind
Chaîne à rechercher.
bNext
Direction de la recherche : TRUE indique vers le bas ; FAUX, vers le haut.
bCase
Indique si la recherche doit être sensible à la casse.
bWord
Indique si la recherche doit correspondre à des mots entiers uniquement ou non.
Notes
Appelez cette fonction pour rechercher du texte dans le CRichEditView
. Remplacez cette fonction pour modifier les caractéristiques de recherche de votre classe d’affichage dérivée.
CRichEditView ::OnInitialUpdate
Appelé par l’infrastructure après que la vue est d’abord attachée au document, mais avant l’affichage initialement affiché.
virtual void OnInitialUpdate();
Notes
L’implémentation par défaut de cette fonction appelle la fonction membre CView ::OnUpdate sans informations d’indicateur (autrement dit, en utilisant les valeurs par défaut 0 pour le paramètre lHint et NULL pour le paramètre pHint ). Remplacez cette fonction pour effectuer une initialisation ponctuelle qui nécessite des informations sur le document. Par exemple, si votre application a des documents de taille fixe, vous pouvez utiliser cette fonction pour initialiser les limites de défilement d’une vue en fonction de la taille du document. Si votre application prend en charge les documents de taille variable, utilisez OnUpdate
cette option pour mettre à jour les limites de défilement chaque fois que le document change.
Exemple
Consultez l’exemple de CRichEditView ::m_nWordWrap.
CRichEditView ::OnPasteNativeObject
Utilisez cette fonction pour charger des données natives à partir d’un élément incorporé.
virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);
Paramètres
lpStg
Pointeur vers un objet IStorage .
Valeur de retour
Différent de zéro s’il réussit ; sinon, 0 ;
Notes
En règle générale, vous le feriez en créant un COleStreamFile autour du IStorage
. Il COleStreamFile
peut être attaché à une archive et À CObject ::Serialize appelé pour charger les données.
Il s’agit d’un élément substituable avancé.
Pour plus d’informations, consultez IStorage dans le Kit de développement logiciel (SDK) Windows.
CRichEditView ::OnParaAlign
Appelez cette fonction pour modifier l’alignement des paragraphes sélectionnés.
void OnParaAlign(WORD wAlign);
Paramètres
wAlign
Alignement de paragraphe souhaité. Une des valeurs suivantes :
PFA_LEFT Aligner les paragraphes avec la marge gauche.
PFA_RIGHT Aligner les paragraphes avec la marge droite.
PFA_CENTER Centrer les paragraphes entre les marges.
Exemple
void CMyRichEditView::OnParaCenter()
{
OnParaAlign(PFA_CENTER);
}
CRichEditView ::OnPrinterChanged
Remplacez cette fonction pour modifier les caractéristiques de cette vue d’édition enrichie lorsque l’imprimante change.
virtual void OnPrinterChanged(const CDC& dcPrinter);
Paramètres
dcPrinter
Objet CDC pour la nouvelle imprimante.
Notes
L’implémentation par défaut définit la taille du papier sur la hauteur physique et la largeur de l’appareil de sortie (imprimante). S’il n’existe aucun contexte d’appareil associé à dcPrinter, l’implémentation par défaut définit la taille du papier sur 8,5 sur 11 pouces.
CRichEditView ::OnReplaceAll
Appelé par l’infrastructure lors du traitement des commandes Remplacer toutes les commandes de la boîte de dialogue Remplacer.
virtual void OnReplaceAll(
LPCTSTR lpszFind,
LPCTSTR lpszReplace,
BOOL bCase,
BOOL bWord);
Paramètres
lpszFind
Texte à remplacer.
lpszReplace
Texte de remplacement.
bCase
Indique si la recherche respecte la casse.
bWord
Indique si la recherche doit sélectionner des mots entiers ou non.
Notes
Appelez cette fonction pour remplacer toutes les occurrences d’un texte donné par une autre chaîne. Remplacez cette fonction pour modifier les caractéristiques de recherche de cette vue.
Exemple
Consultez l’exemple de CRichEditView ::FindText.
CRichEditView ::OnReplaceSel
Appelé par l’infrastructure lors du traitement des commandes Remplacer à partir de la boîte de dialogue Remplacer.
virtual void OnReplaceSel(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord,
LPCTSTR lpszReplace);
Paramètres
lpszFind
Texte à remplacer.
bNext
Indique la direction de la recherche : TRUE est en panne ; FAUX, vers le haut.
bCase
Indique si la recherche respecte la casse.
bWord
Indique si la recherche doit sélectionner des mots entiers ou non.
lpszReplace
Texte de remplacement.
Notes
Appelez cette fonction pour remplacer une occurrence d’un texte donné par une autre chaîne. Remplacez cette fonction pour modifier les caractéristiques de recherche de cette vue.
CRichEditView ::OnTextNotFound
Appelé par l’infrastructure chaque fois qu’une recherche échoue.
virtual void OnTextNotFound(LPCTSTR lpszFind);
Paramètres
lpszFind
Texte introuvable.
Notes
Remplacez cette fonction pour modifier la notification de sortie d’un MessageBeep.
Pour plus d’informations, consultez MessageBeep dans le Kit de développement logiciel (SDK) Windows.
Exemple
void CMyRichEditView::OnTextNotFound(LPCTSTR lpszFind)
{
// Replace the beep with a message box
CString str;
str.Format(_T("'%s' was not found."), lpszFind);
AfxMessageBox(str);
}
CRichEditView ::OnUpdateCharEffect
L’infrastructure appelle cette fonction pour mettre à jour l’interface utilisateur de commande pour les commandes d’effet de caractère.
void OnUpdateCharEffect(
CCmdUI* pCmdUI,
DWORD dwMask,
DWORD dwEffect);
Paramètres
pCmdUI
Pointeur vers un objet CCmdUI .
dwMask
Indique le masque de mise en forme des caractères.
dwEffect
Indique l’effet de mise en forme des caractères.
Notes
Le masque dwMask spécifie les attributs de mise en forme des caractères à vérifier. Les indicateurs dwEffect répertorient les attributs de mise en forme des caractères à définir/effacer.
Pour plus d’informations sur les paramètres dwMask et dwEffect et leurs valeurs potentielles, consultez les membres de données correspondants de CHARFORMAT dans le Kit de développement logiciel (SDK) Windows.
Exemple
void CMyRichEditView::OnUpdateCharItalicUI(CCmdUI* pCmdUI)
{
OnUpdateCharEffect(pCmdUI, CFM_ITALIC, CFE_ITALIC);
}
CRichEditView ::OnUpdateParaAlign
L’infrastructure appelle cette fonction pour mettre à jour l’interface utilisateur de commande pour les commandes d’effet de paragraphe.
void OnUpdateParaAlign(
CCmdUI* pCmdUI,
WORD wAlign);
Paramètres
pCmdUI
Pointeur vers un objet CCmdUI .
wAlign
Alignement du paragraphe à vérifier. Une des valeurs suivantes :
PFA_LEFT Aligner les paragraphes avec la marge gauche.
PFA_RIGHT Aligner les paragraphes avec la marge droite.
PFA_CENTER Centrer les paragraphes entre les marges.
Exemple
void CMyRichEditView::OnUpdateParaCenterUI(CCmdUI* pCmdUI)
{
OnUpdateParaAlign(pCmdUI, PFA_CENTER);
}
CRichEditView ::P rintInsideRect
Appelez cette fonction pour mettre en forme une plage de texte dans un contrôle d’édition enrichi pour s’adapter à rectLayout pour l’appareil spécifié par pDC.
long PrintInsideRect(
CDC* pDC,
RECT& rectLayout,
long nIndexStart,
long nIndexStop,
BOOL bOutput);
Paramètres
pDC
Pointeur vers un contexte d’appareil pour la zone de sortie.
rectLayout
RECT ou CRect qui définit la zone de sortie.
nIndexStart
Index de base zéro du premier caractère à mettre en forme.
nIndexStop
Index de base zéro du dernier caractère à mettre en forme.
bOutput
Indique si le texte doit être rendu. Si la valeur est FALSE, le texte est juste mesuré.
Valeur de retour
Index du dernier caractère qui correspond à la zone de sortie plus un.
Notes
En règle générale, cet appel est suivi d’un appel à CRichEditCtrl ::D isplayBand qui génère la sortie.
Exemple
Consultez l’exemple de CRichEditView ::GetPaperSize.
CRichEditView ::P rintPage
Appelez cette fonction pour mettre en forme une plage de texte dans un contrôle d’édition enrichi pour l’appareil de sortie spécifié par pDC.
long PrintPage(
CDC* pDC,
long nIndexStart,
long nIndexStop);
Paramètres
pDC
Pointeur vers un contexte d’appareil pour la sortie de page.
nIndexStart
Index de base zéro du premier caractère à mettre en forme.
nIndexStop
Index de base zéro du dernier caractère à mettre en forme.
Valeur de retour
Index du dernier caractère qui s’adapte à la page plus un.
Notes
La mise en page de chaque page est contrôlée par GetPageRect et GetPrintRect. En règle générale, cet appel est suivi d’un appel à CRichEditCtrl ::D isplayBand qui génère la sortie.
Notez que les marges sont relatives à la page physique, et non à la page logique. Ainsi, les marges de zéro découpent souvent le texte, car de nombreuses imprimantes ont des zones imprimables sur la page. Pour éviter de couper votre texte, vous devez appeler SetMargins et définir des marges raisonnables avant l’impression.
CRichEditView ::QueryAcceptData
Appelé par l’infrastructure pour coller un objet dans la modification enrichie.
virtual HRESULT QueryAcceptData(
LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat,
DWORD dwReco,
BOOL bReally,
HGLOBAL hMetaFile);
Paramètres
lpdataobj
Pointeur vers IDataObject à interroger.
lpcfFormat
Pointeur vers le format de données acceptable.
dwReco
Aucun affichage.
bReally
Indique si l’opération de collage doit continuer ou non.
hMetaFile
Handle vers le métafichier utilisé pour dessiner l’icône de l’élément.
Valeur de retour
Valeur HRESULT signalant la réussite de l’opération.
Notes
Remplacez cette fonction pour gérer différentes organisations d’éléments COM dans votre classe de document dérivée. Il s’agit d’un élément substituable avancé.
Pour plus d’informations sur HRESULT et IDataObject
, consultez Structure des codes d’erreur COM et IDataObject, respectivement, dans le Kit de développement logiciel (SDK) Windows.
Exemple
// This code fragment is taken from the Wordpad sample.
HRESULT CMyRichEditView::QueryAcceptData(LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat, DWORD dwReco, BOOL bReally, HGLOBAL hMetaFile)
{
if (bReally && *lpcfFormat == 0 && (m_nPasteType == 0))
{
COleDataObject dataobj;
dataobj.Attach(lpdataobj, FALSE);
if (!dataobj.IsDataAvailable(cfRTO)) // native avail, let
// richedit do as it wants
{
if (dataobj.IsDataAvailable(cfEmbeddedObject))
{
if (PasteNative(lpdataobj)) // See WordPad sample for info
// on PasteNative
return S_FALSE;
}
}
}
return CRichEditView::QueryAcceptData(lpdataobj, lpcfFormat, dwReco,
bReally, hMetaFile);
}
CRichEditView ::SetCharFormat
Appelez cette fonction pour définir les attributs de mise en forme des caractères pour le nouveau texte dans cet CRichEditView
objet.
void SetCharFormat(CHARFORMAT2 cf);
Paramètres
cf
CHARFORMAT2 structure contenant les nouveaux attributs de mise en forme de caractères par défaut.
Notes
Seuls les attributs spécifiés par le dwMask
membre de cf sont modifiés par cette fonction.
Pour plus d’informations, consultez EM_SETCHARFORMAT structure de message et de CHARFORMAT2 dans le Kit de développement logiciel (SDK) Windows.
Exemple
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView ::SetMargins
Appelez cette fonction pour définir les marges d’impression de cet affichage d’édition enrichi.
void SetMargins(const CRect& rectMargin);
Paramètres
rectMargin
Nouvelles valeurs de marge pour l’impression, mesurées en MM_TWIPS.
Notes
Si m_nWordWrap est WrapToTargetDevice
, vous devez appeler WrapChanged après avoir utilisé cette fonction pour ajuster les caractéristiques d’impression.
Notez que les marges utilisées par PrintPage sont relatives à la page physique, et non à la page logique. Ainsi, les marges de zéro découpent souvent le texte, car de nombreuses imprimantes ont des zones imprimables sur la page. Pour éviter de couper votre texte, vous devez appeler l’utilisation SetMargins
pour définir des marges d’imprimante raisonnables avant l’impression.
Exemple
Consultez l’exemple de CRichEditView ::GetPaperSize.
CRichEditView ::SetPaperSize
Appelez cette fonction pour définir le format de papier pour l’impression de cet affichage d’édition enrichi.
void SetPaperSize(CSize sizePaper);
Paramètres
sizePaper
Nouvelles valeurs de taille de papier pour l’impression, mesurées en MM_TWIPS.
Notes
Si m_nWordWrap est WrapToTargetDevice
, vous devez appeler WrapChanged après avoir utilisé cette fonction pour ajuster les caractéristiques d’impression.
Exemple
BOOL CMyRichEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
// Set the printing margins (720 twips = 1/2 inch).
SetMargins(CRect(720, 720, 720, 720));
// Change the paper orientation to landscape mode
// See the example for CWinApp::GetPrinterDeviceDefaults
((CMyWinApp*)AfxGetApp())->SetLandscapeMode();
// Change the paper size in the CRichEditView to
// reflect landscape mode
CSize csPaper = GetPaperSize();
int temp;
temp = csPaper.cx; csPaper.cx = csPaper.cy; csPaper.cy = temp;
SetPaperSize(csPaper);
return DoPreparePrinting(pInfo);
}
CRichEditView ::SetParaFormat
Appelez cette fonction pour définir les attributs de mise en forme des paragraphes pour la sélection actuelle dans cet CRichEditView
objet.
BOOL SetParaFormat(PARAFORMAT2& pf);
Paramètres
pf
PARAFORMAT2 structure contenant les nouveaux attributs de mise en forme de paragraphe 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 sont modifiés par cette fonction.
Pour plus d’informations, consultez EM_SETPARAFORMAT structure de message et de PARAFORMAT2 dans le Kit de développement logiciel (SDK) Windows.
Exemple
void CMyRichEditView::AddBullets()
{
PARAFORMAT2 pf;
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_NUMBERING | PFM_OFFSET;
pf.wNumbering = PFN_BULLET;
pf.dxOffset = 10;
VERIFY(SetParaFormat(pf));
}
CRichEditView ::TextNotFound
Appelez cette fonction pour réinitialiser l’état de recherche interne du contrôle CRichEditView après un appel ayant échoué à FindText.
void TextNotFound(LPCTSTR lpszFind);
Paramètres
lpszFind
Contient la chaîne de texte introuvable.
Notes
Il est recommandé que cette méthode soit appelée immédiatement après l’échec des appels à FindText afin que l’état de recherche interne du contrôle soit correctement réinitialisé.
Le paramètre lpszFind doit inclure le même contenu que la chaîne fournie à FindText. Après avoir réinitialisé l’état de recherche interne, cette méthode appelle la méthode OnTextNotFound avec la chaîne de recherche fournie.
Exemple
Consultez l’exemple de CRichEditView ::FindText.
CRichEditView ::WrapChanged
Appelez cette fonction lorsque les caractéristiques d’impression ont changé ( SetMargins ou SetPaperSize).
virtual void WrapChanged();
Notes
Remplacez cette fonction pour modifier la façon dont la vue d’édition enrichie répond aux modifications apportées à m_nWordWrap ou aux caractéristiques d’impression ( OnPrinterChanged).
Exemple
void CMyRichEditView::OnInitialUpdate()
{
CRichEditView::OnInitialUpdate();
// Turn on the horizontal scroll bar
m_nWordWrap = WrapNone;
WrapChanged();
}
Voir aussi
Exemple WORDPAD MFC
CCtrlView, classe
Graphique hiérarchique
CRichEditDoc, classe
CRichEditCntrItem, classe