Condividi tramite


Classe CRichEditCtrl

Fornisce la funzionalità del controllo Rich Edit.

Sintassi

class CRichEditCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CRichEditCtrl::CRichEditCtrl Costruisce un oggetto CRichEditCtrl.

Metodi pubblici

Nome Descrizione
CRichEditCtrl::CanPaste Determina se il contenuto degli Appunti può essere incollato in questo controllo di modifica rtf.
CRichEditCtrl::CanRedo Determina se sono presenti azioni nella coda di rollforward del controllo.
CRichEditCtrl::CanUndo Determina se un'operazione di modifica può essere annullata.
CRichEditCtrl::CharFromPos Recupera informazioni sul carattere più vicino a un punto specificato nell'area client di un controllo di modifica.
CRichEditCtrl::Clear Cancella la selezione corrente.
CRichEditCtrl::Copy Copia la selezione corrente negli Appunti.
CRichEditCtrl::Create Crea il controllo di modifica rtf di Windows e lo associa a questo CRichEditCtrl oggetto.
CRichEditCtrl::CreateEx Crea il controllo rich edit di Windows con gli stili di Windows estesi specificati e lo associa a questo CRichEditCtrl oggetto.
CRichEditCtrl::Cut Taglia la selezione corrente negli Appunti.
CRichEditCtrl::DisplayBand Visualizza una parte del contenuto di questo CRichEditCtrl oggetto.
CRichEditCtrl::EmptyUndoBuffer Reimposta (cancella) il flag di annullamento di questo CRichEditCtrl oggetto.
CRichEditCtrl::FindText Individua il testo all'interno di questo CRichEditCtrl oggetto.
CRichEditCtrl::FindWordBreak Trova l'interruzione di parola successiva prima o dopo la posizione del carattere specificata oppure recupera informazioni sul carattere in tale posizione.
CRichEditCtrl::FormatRange Formatta un intervallo di testo per il dispositivo di output di destinazione.
CRichEditCtrl::GetCharPos Determina la posizione di un determinato carattere all'interno di questo CRichEditCtrl oggetto.
CRichEditCtrl::GetDefaultCharFormat Recupera gli attributi di formattazione dei caratteri predefiniti correnti in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetEventMask Recupera la maschera evento per questo CRichEditCtrl oggetto.
CRichEditCtrl::GetFirstVisibleLine Determina la riga più visibile in alto in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetIRichEditOle Recupera un puntatore all'interfaccia IRichEditOle per questo controllo di modifica avanzato.
CRichEditCtrl::GetLimitText Ottiene il limite per la quantità di testo che un utente può immettere in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetLine Recupera una riga di testo da questo CRichEditCtrl oggetto .
CRichEditCtrl::GetLineCount Recupera il numero di righe in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetModify Determina se il contenuto di questo CRichEditCtrl oggetto è stato modificato dopo l'ultimo salvataggio.
CRichEditCtrl::GetOptions Recupera le opzioni avanzate del controllo di modifica.
CRichEditCtrl::GetParaFormat Recupera gli attributi di formattazione del paragrafo nella selezione corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetPunctuation Recupera i caratteri di punteggiatura correnti per il controllo rich edit. Questo messaggio è disponibile solo nelle versioni asiatiche del sistema operativo.
CRichEditCtrl::GetRect Recupera il rettangolo di formattazione per questo CRichEditCtrl oggetto.
CRichEditCtrl::GetRedoName Recupera il tipo dell'azione successiva, se presente, nella coda di rollforward del controllo.
CRichEditCtrl::GetSel Ottiene le posizioni iniziali e finali della selezione corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetSelectionCharFormat Recupera gli attributi di formattazione dei caratteri nella selezione corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetSelectionType Recupera il tipo di contenuto nella selezione corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::GetSelText Ottiene il testo della selezione corrente in questo CRichEditCtrl oggetto
CRichEditCtrl::GetTextLength Recupera la lunghezza del testo, espressa in caratteri, in questo CRichEditCtrl oggetto . Non include il carattere Null di terminazione.
CRichEditCtrl::GetTextLengthEx Recupera il numero di caratteri o byte nella visualizzazione di modifica avanzata. Accetta un elenco di flag per indicare il metodo di determinazione della lunghezza del testo in un controllo di modifica rtf
CRichEditCtrl::GetTextMode Recupera la modalità di testo corrente e il livello di annullamento di un controllo di modifica rtf.
CRichEditCtrl::GetTextRange Recupera l'intervallo di testo specificato.
CRichEditCtrl::GetUndoName Recupera il tipo dell'azione di annullamento successiva, se presente.
CRichEditCtrl::GetWordWrapMode Recupera le opzioni di ritorno a capo automatico e di word break correnti per il controllo rich edit. Questo messaggio è disponibile solo nelle versioni asiatiche del sistema operativo.
CRichEditCtrl::HideSelection Visualizza o nasconde la selezione corrente.
CRichEditCtrl::LimitText Limita la quantità di testo che un utente può immettere nell'oggetto CRichEditCtrl .
CRichEditCtrl::LineFromChar Determina quale riga contiene il carattere specificato.
CRichEditCtrl::LineIndex Recupera l'indice di caratteri di una determinata riga in questo CRichEditCtrl oggetto.
CRichEditCtrl::LineLength Recupera la lunghezza di una determinata riga in questo CRichEditCtrl oggetto.
CRichEditCtrl::LineScroll Scorre il testo in questo CRichEditCtrl oggetto.
CRichEditCtrl::Paste Inserisce il contenuto degli Appunti in questo controllo di modifica avanzato.
CRichEditCtrl::PasteSpecial Inserisce il contenuto degli Appunti in questo controllo di modifica rtf nel formato dati specificato.
CRichEditCtrl::PosFromChar Recupera le coordinate dell'area client di un carattere specificato in un controllo di modifica.
CRichEditCtrl::Redo Ripete l'azione successiva nella coda di rollforward del controllo.
CRichEditCtrl::ReplaceSel Sostituisce la selezione corrente in questo CRichEditCtrl oggetto con il testo specificato.
CRichEditCtrl::RequestResize Forza l'oggetto CRichEditCtrl a inviare notifiche di ridimensionamento delle richieste.
CRichEditCtrl::SetAutoURLDetect Indica se il rilevamento dell'URL automatico è attivo in un controllo di modifica avanzato.
CRichEditCtrl::SetBackgroundColor Imposta il colore di sfondo in questo CRichEditCtrl oggetto.
CRichEditCtrl::SetDefaultCharFormat Imposta gli attributi di formattazione dei caratteri predefiniti correnti in questo CRichEditCtrl oggetto.
CRichEditCtrl::SetEventMask Imposta la maschera evento per questo CRichEditCtrl oggetto.
CRichEditCtrl::SetModify Imposta o cancella il flag di modifica per questo CRichEditCtrl oggetto.
CRichEditCtrl::SetOLECallback Imposta l'oggetto IRichEditOleCallback COM per questo controllo rich edit.
CRichEditCtrl::SetOptions Imposta le opzioni per questo CRichEditCtrl oggetto.
CRichEditCtrl::SetParaFormat Imposta gli attributi di formattazione del paragrafo nella selezione corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::SetPunctuation Imposta i caratteri di punteggiatura per un controllo di modifica rtf. Questo messaggio è disponibile solo nelle versioni asiatiche del sistema operativo.
CRichEditCtrl::SetReadOnly Imposta l'opzione di sola lettura per questo CRichEditCtrl oggetto.
CRichEditCtrl::SetRect Imposta il rettangolo di formattazione per questo CRichEditCtrl oggetto.
CRichEditCtrl::SetSel Imposta la selezione in questo CRichEditCtrl oggetto.
CRichEditCtrl::SetSelectionCharFormat Imposta gli attributi di formattazione dei caratteri nella selezione corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::SetTargetDevice Imposta il dispositivo di output di destinazione per questo CRichEditCtrl oggetto.
CRichEditCtrl::SetTextMode Imposta la modalità di testo o il livello di annullamento di un controllo di modifica rtf. Il messaggio ha esito negativo se il controllo contiene testo.
CRichEditCtrl::SetUndoLimit Imposta il numero massimo di azioni che possono essere archiviate nella coda di annullamento.
CRichEditCtrl::SetWordCharFormat Imposta gli attributi di formattazione dei caratteri nella parola corrente in questo CRichEditCtrl oggetto.
CRichEditCtrl::SetWordWrapMode Imposta le opzioni di ritorno a capo automatico e di word break per il controllo di modifica rtf. Questo messaggio è disponibile solo nelle versioni asiatiche del sistema operativo.
CRichEditCtrl::StopGroupTyping Impedisce al controllo di raccogliere altre azioni di digitazione nell'azione di annullamento corrente. Il controllo archivia l'azione di digitazione successiva, se presente, in una nuova azione nella coda di annullamento.
CRichEditCtrl::StreamIn Inserisce testo da un flusso di input in questo CRichEditCtrl oggetto.
CRichEditCtrl::StreamOut Archivia il testo di questo CRichEditCtrl oggetto in un flusso di output.
CRichEditCtrl::Undo Inverte l'ultima operazione di modifica.

Osservazioni:

Un "controllo di modifica avanzato" è una finestra in cui l'utente può immettere e modificare il testo. Il testo può essere assegnato a caratteri e formattazione di paragrafo e può includere oggetti OLE incorporati. I controlli rich edit forniscono un'interfaccia di programmazione per la formattazione del testo. Tuttavia, un'applicazione deve implementare tutti i componenti dell'interfaccia utente necessari per rendere disponibili all'utente le operazioni di formattazione.

Questo controllo Comune di Windows (e quindi la CRichEditCtrl classe ) è disponibile solo per i programmi in esecuzione in Windows 95/98 e Windows NT versioni 3.51 e successive. La CRichEditCtrl classe supporta le versioni 2.0 e 3.0 del controllo rich edit di Windows SDK.

Attenzione

Se si usa un controllo di modifica avanzato in una finestra di dialogo ,indipendentemente dal fatto che l'applicazione sia basata su SDI, MDI o basata su dialoghi, è necessario chiamare AfxInitRichEdit una volta prima che venga visualizzata la finestra di dialogo. Una posizione tipica per chiamare questa funzione si trova nella funzione membro del InitInstance programma. Non è necessario chiamarlo per ogni volta che si visualizza la finestra di dialogo, solo la prima volta. Non è necessario chiamare AfxInitRichEdit se si lavora con CRichEditView.

Per altre informazioni sull'uso CRichEditCtrldi , vedere:

Per un esempio di utilizzo di un controllo di modifica avanzato in un'applicazione MFC, vedere l'applicazione di esempio WORDPAD .

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CRichEditCtrl

Requisiti

Intestazione: afxcmn.h

CRichEditCtrl::CanPaste

Determina se il controllo rich edit può incollare il formato degli Appunti specificato.

BOOL CanPaste(UINT nFormat = 0) const;

Parametri

nFormat
Formato dei dati degli Appunti su cui eseguire una query. Questo parametro può essere uno dei formati predefiniti degli Appunti o il valore restituito da RegisterClipboardFormat.

Valore restituito

Diverso da zero se il formato Degli Appunti può essere incollato; in caso contrario, 0.

Osservazioni:

Se nFormat è 0, CanPaste tenterà qualsiasi formato attualmente negli Appunti.

Per altre informazioni, vedere EM_CANPASTE messaggio e RegisterClipboardFormat funzione in Windows SDK.

Esempio

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

CRichEditCtrl::CanRedo

Determina se la coda di rollforward contiene azioni.

BOOL CanRedo() const;

Valore restituito

Diverso da zero se la coda di rollforward contiene azioni, in caso contrario 0.

Osservazioni:

Per individuare il nome dell'operazione nella coda di rollforward, chiamare CRichEditCtrl::GetRedoName. Per ripetere l'operazione di annullamento più recente, chiamare Redo.

Per altre informazioni, vedere EM_CANREDO in Windows SDK.

CRichEditCtrl::CanUndo

Determina se l'ultima operazione di modifica può essere annullata.

BOOL CanUndo() const;

Valore restituito

Diverso da zero se l'ultima operazione di modifica può essere annullata da una chiamata alla Undo funzione membro; 0 se non può essere annullata.

Osservazioni:

Per altre informazioni, vedere EM_CANUNDO in Windows SDK.

Esempio

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

CRichEditCtrl::CharFromPos

Recupera informazioni sul carattere nel punto specificato dal parametro pt.

int CharFromPos(CPoint pt) const;

Parametri

pt
Oggetto CPoint contenente le coordinate del punto specificato.

Valore restituito

Indice dei caratteri in base zero del carattere più vicino al punto specificato. Se il punto specificato supera l'ultimo carattere nel controllo, il valore restituito indica l'ultimo carattere nel controllo .

Osservazioni:

Questa funzione membro funziona con un controllo rich edit. Per ottenere le informazioni per un controllo di modifica, chiamare CEdit::CharFromPos.

Per altre informazioni, vedere EM_CHARFROMPOS in Windows SDK.

CRichEditCtrl::Clear

Elimina (cancella) la selezione corrente (se presente) nel controllo rich edit.

void Clear();

Osservazioni:

L'eliminazione eseguita da Clear può essere annullata chiamando la Undo funzione membro.

Per eliminare la selezione corrente e posizionare il contenuto eliminato negli Appunti, chiamare la Cut funzione membro.

Per altre informazioni, vedere WM_CLEAR in Windows SDK.

Esempio

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

CRichEditCtrl::Copy

Copia la selezione corrente ,se presente, nel controllo di modifica rtf negli Appunti.

void Copy();

Osservazioni:

Per altre informazioni, vedere WM_COPY in Windows SDK.

Esempio

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

CRichEditCtrl::Create

Crea il controllo di modifica rtf di Windows e lo associa a questo CRichEditCtrl oggetto.

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

Parametri

dwStyle
Specifica lo stile del controllo di modifica. Applicare una combinazione degli stili di finestra elencati nella sezione Osservazioni di seguito e modificare gli stili di controllo descritti in Windows SDK.

rect
Specifica le dimensioni e la posizione del controllo di modifica. Può essere un oggetto o RECT una CRect struttura.

pParentWnd
Specifica la finestra padre del controllo di modifica (spesso un ).CDialog Non deve essere NULL.

nID
Specifica l'ID del controllo di modifica.

Valore restituito

Diverso da zero se l'inizializzazione ha esito positivo; in caso contrario, 0.

Osservazioni:

Si costruisce un CRichEditCtrl oggetto in due passaggi. Chiamare prima di tutto il CRichEditCtrl costruttore, quindi chiamare Create, che crea il controllo di modifica di Windows e lo collega all'oggetto CRichEditCtrl .

Quando si crea un controllo di modifica avanzato con questa funzione, è prima necessario caricare la libreria di controlli comuni necessaria. Per caricare la libreria, chiamare la funzione AfxInitRichEditglobale , che a sua volta inizializza la libreria dei controlli comuni. È necessario chiamare AfxInitRichEdit una sola volta nel processo.

Quando Create viene eseguito, Windows invia i WM_NCCREATEmessaggi , WM_NCCALCSIZE, WM_CREATEe WM_GETMINMAXINFO al controllo di modifica.

Questi messaggi vengono gestiti per impostazione predefinita dalle OnNcCreatefunzioni membro , OnNcCalcSizeOnCreate, e OnGetMinMaxInfo nella CWnd classe base. Per estendere la gestione predefinita dei messaggi, derivare una classe da CRichEditCtrl, aggiungere una mappa messaggi alla nuova classe ed eseguire l'override delle funzioni membro del gestore messaggi precedenti. Eseguire l'override OnCreatedi , ad esempio, per eseguire l'inizializzazione necessaria per la nuova classe.

Applicare gli stili di finestra seguenti a un controllo di modifica.

  • WS_CHILD Sempre.

  • WS_VISIBLE Solitamente.

  • WS_DISABLED Raramente.

  • WS_GROUP Per raggruppare i controlli.

  • WS_TABSTOP Per includere il controllo di modifica nell'ordine di tabulazione.

Per altre informazioni sugli stili delle finestre, vedere CreateWindow in Windows SDK.

Esempio

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

CRichEditCtrl::CreateEx

Crea un controllo (una finestra figlio) e lo associa all'oggetto CRichEditCtrl .

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

Parametri

dwExStyle
Specifica lo stile esteso del controllo da creare. Per un elenco degli stili di Windows estesi, vedi il dwExStyle parametro per CreateWindowEx in Windows SDK.

dwStyle
Specifica lo stile del controllo di modifica. Applicare una combinazione degli stili di finestra elencati nella sezione Osservazioni degli stili di Create controllo e di modifica descritti in Windows SDK.

rect
Riferimento a una RECT struttura che descrive le dimensioni e la posizione della finestra da creare, nelle coordinate client di pParentWnd.

pParentWnd
Puntatore alla finestra padre del controllo.

nID
ID finestra figlio del controllo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Usare CreateEx invece di Create applicare stili di Windows estesi, specificati dalla prefazione WS_EX_dello stile esteso di Windows.

CRichEditCtrl::CRichEditCtrl

Costruisce un oggetto CRichEditCtrl.

CRichEditCtrl();

Osservazioni:

Utilizzare Create per costruire il controllo di modifica rtf di Windows.

Esempio

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

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

CRichEditCtrl::Cut

Elimina (taglia) la selezione corrente (se presente) nel controllo di modifica rtf e copia il testo eliminato negli Appunti.

void Cut();

Osservazioni:

L'eliminazione eseguita da Cut può essere annullata chiamando la Undo funzione membro.

Per eliminare la selezione corrente senza inserire il testo eliminato negli Appunti, chiamare la Clear funzione membro.

Per altre informazioni, vedere WM_CUT in Windows SDK.

Esempio

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

CRichEditCtrl::DisplayBand

Visualizza una parte del contenuto del controllo rich edit (testo ed elementi OLE), come in precedenza formattato da FormatRange.

BOOL DisplayBand(LPRECT pDisplayRect);

Parametri

pDisplayRect
Puntatore a un RECT oggetto o CRect che specifica l'area del dispositivo per visualizzare il testo.

Valore restituito

Diverso da zero se la visualizzazione del testo formattato ha esito positivo; in caso contrario, 0.

Osservazioni:

Il testo e gli elementi OLE vengono ritagliati nell'area specificata dal puntatore pDisplayRect.

Per altre informazioni, vedere EM_DISPLAYBAND in Windows SDK.

Esempio

Vedere l'esempio per CRichEditCtrl::FormatRange.

CRichEditCtrl::EmptyUndoBuffer

Reimposta (cancella) il flag di annullamento di questo controllo di modifica rtf.

void EmptyUndoBuffer();

Osservazioni:

Il controllo non sarà ora in grado di annullare l'ultima operazione di modifica. Il flag di annullamento viene impostato ogni volta che un'operazione all'interno del controllo rich edit può essere annullata.

Il flag di annullamento viene cancellato automaticamente ogni volta che si chiama la CWnd funzione SetWindowTextmembro .

Per altre informazioni, vedere EM_EMPTYUNDOBUFFER in Windows SDK.

Esempio

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

CRichEditCtrl::FindText

Trova testo all'interno del controllo rich edit.

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

Parametri

dwFlags
Per un elenco dei valori possibili, vedere wParam in EM_FINDTEXTEXT Windows SDK.

pFindText
Puntatore alla FINDTEXTEX struttura che assegna i parametri per la ricerca e restituisce l'intervallo in cui è stata trovata la corrispondenza.

Valore restituito

Posizione del carattere in base zero della corrispondenza successiva; - 1 se non ci sono più corrispondenze.

Osservazioni:

È possibile eseguire una ricerca verso l'alto o verso il CHARRANGE basso impostando i parametri di intervallo appropriati nella struttura all'interno della FINDTEXTEX struttura.

Per altre informazioni, vedere EM_FINDTEXTEX messaggio e FINDTEXTEX struttura in Windows SDK.

Esempio

// 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

Trova l'interruzione di parola successiva prima o dopo la posizione specificata da nStart.

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

Parametri

nCode
Indica l'azione da eseguire. Per un elenco dei valori possibili, vedere la descrizione del parametro code in EM_FINDWORDBREAK in Windows SDK.

nStart
Posizione del carattere in base zero da cui iniziare.

Valore restituito

In base al parametro nCode. Per altre informazioni, vedere EM_FINDWORDBREAK in Windows SDK.

Osservazioni:

È possibile utilizzare questa funzione membro per recuperare informazioni su un carattere in una determinata posizione.

CRichEditCtrl::FormatRange

Formatta un intervallo di testo in un controllo di modifica rtf per un dispositivo specifico.

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

Parametri

pfr
Puntatore alla FORMATRANGE struttura che contiene informazioni sul dispositivo di output. NULL indica che le informazioni memorizzate nella cache all'interno del controllo rich edit possono essere liberate.

bDisplay
Indica se è necessario eseguire il rendering del testo. Se FALSE, il testo viene appena misurato.

Valore restituito

Indice dell'ultimo carattere che rientra nell'area più uno.

Osservazioni:

In genere, questa chiamata è seguita da una chiamata a DisplayBand.

Per altre informazioni, vedere EM_FORMATRANGE messaggio e FORMATRANGE struttura in Windows SDK.

Esempio

// 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

Ottiene la posizione (angolo superiore sinistro) di un determinato carattere all'interno di questo CRichEditCtrl oggetto.

CPoint GetCharPos(long lChar) const;

Parametri

lChar
Indice in base zero del carattere.

Valore restituito

Posizione dell'angolo superiore sinistro del carattere specificato da lChar.

Osservazioni:

Il carattere viene specificato assegnando il valore di indice in base zero. Se lChar è maggiore dell'indice dell'ultimo carattere in questo CRichEditCtrl oggetto, il valore restituito specifica le coordinate della posizione del carattere appena oltre l'ultimo carattere in questo CRichEditCtrl oggetto.

Per altre informazioni, vedere EM_POSFROMCHAR in Windows SDK.

CRichEditCtrl::GetDefaultCharFormat

Ottiene gli attributi di formattazione dei caratteri predefiniti di questo CRichEditCtrl oggetto.

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

Parametri

cf
Nella prima versione, un puntatore a una CHARFORMAT struttura che contiene gli attributi di formattazione dei caratteri predefiniti.

Nella seconda versione, un puntatore a una CHARFORMAT2 struttura, ovvero un'estensione Rich Edit 2.0 alla CHARFORMAT struttura, che contiene gli attributi di formattazione dei caratteri predefiniti.

Valore restituito

Membro dwMask dati di cf. Ha specificato gli attributi di formattazione dei caratteri predefiniti.

Osservazioni:

Per altre informazioni, vedere il EM_GETCHARFORMAT messaggio e le CHARFORMAT strutture e CHARFORMAT2 in Windows SDK.

Esempio

Vedere l'esempio per SetDefaultCharFormat.

CRichEditCtrl::GetEventMask

Ottiene la maschera evento per questo CRichEditCtrl oggetto.

long GetEventMask() const;

Valore restituito

Maschera evento per questo CRichEditCtrl oggetto.

Osservazioni:

La maschera eventi specifica i messaggi di notifica inviati dall'oggetto CRichEditCtrl alla relativa finestra padre.

Per altre informazioni, vedere EM_GETEVENTMASK in Windows SDK.

Esempio

Vedere l'esempio per CRichEditCtrl::SetEventMask.

CRichEditCtrl::GetFirstVisibleLine

Determina la riga più visibile in alto in questo CRichEditCtrl oggetto.

int GetFirstVisibleLine() const;

Valore restituito

Indice in base zero della riga visibile in alto in questo CRichEditCtrl oggetto.

Osservazioni:

Per altre informazioni, vedere EM_GETFIRSTVISIBLELINE in Windows SDK.

Esempio

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

Accede all'interfaccia IRichEditOle per questo CRichEditCtrl oggetto.

IRichEditOle* GetIRichEditOle() const;

Valore restituito

Puntatore all'interfaccia IRichEditOle che può essere utilizzata per accedere CRichEditCtrl alla funzionalità OLE dell'oggetto; NULL se l'interfaccia non è accessibile.

Osservazioni:

Utilizzare questa interfaccia per accedere alla funzionalità OLE di questo CRichEditCtrl oggetto.

Per altre informazioni, vedere EM_GETOLEINTERFACE messaggio e IRichEditOle interfaccia in Windows SDK.

CRichEditCtrl::GetLimitText

Ottiene il limite di testo per questo CRichEditCtrl oggetto.

long GetLimitText() const;

Valore restituito

Limite di testo corrente, in byte, per questo CRichEditCtrl oggetto.

Osservazioni:

Il limite di testo è la quantità massima di testo, in byte, che il controllo rich edit può accettare.

Per altre informazioni, vedere EM_GETLIMITTEXT in Windows SDK.

Esempio

// 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

Recupera una riga di testo da questo CRichEditCtrl oggetto .

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

Parametri

nIndex
Indice in base zero della riga da recuperare.

lpszBuffer
Punta al buffer per ricevere il testo. La prima parola del buffer deve specificare il numero massimo di byte che è possibile copiare nel buffer.

nMaxLength
Numero massimo di caratteri che è possibile copiare in lpszBuffer. La seconda forma di GetLine inserisce questo valore nella prima parola del buffer specificato da lpszBuffer.

Valore restituito

Numero di caratteri copiati in lpszBuffer.

Osservazioni:

La riga copiata non contiene un carattere Null di terminazione.

Nota

Poiché la prima parola del buffer archivia il numero di caratteri da copiare, assicurarsi che il buffer sia lungo almeno 4 byte.

Per altre informazioni, vedere EM_GETLINE in Windows SDK.

Esempio

Vedere l'esempio per GetLineCount.

CRichEditCtrl::GetLineCount

Recupera il numero di righe nell'oggetto CRichEditCtrl .

int GetLineCount() const;

Valore restituito

Numero di righe in questo CRichEditCtrl oggetto.

Osservazioni:

Per altre informazioni, vedere EM_GETLINECOUNT in Windows SDK.

Esempio

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

Determina se il contenuto di questo CRichEditCtrl oggetto è stato modificato.

BOOL GetModify() const;

Valore restituito

Diverso da zero se il testo in questo CRichEditCtrl oggetto è stato modificato; in caso contrario, 0.

Osservazioni:

Windows mantiene un flag interno che indica se il contenuto del controllo rich edit è stato modificato. Questo flag viene cancellato quando il controllo di modifica viene creato per la prima volta e può anche essere cancellato chiamando la SetModify funzione membro.

Per altre informazioni, vedere EM_GETMODIFY in Windows SDK.

Esempio

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

CRichEditCtrl::GetOptions

Recupera le opzioni attualmente impostate per il controllo rich edit.

UINT GetOptions() const;

Valore restituito

Combinazione dei valori del flag di opzione corrente. Per un elenco di questi valori, vedere il fOptions parametro nel EM_SETOPTIONS messaggio, come descritto in Windows SDK.

CRichEditCtrl::GetParaFormat

Ottiene gli attributi di formattazione del paragrafo della selezione corrente.

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

Parametri

pf
Nella prima versione, un puntatore a una PARAFORMAT struttura per contenere gli attributi di formattazione del paragrafo della selezione corrente.

Nella seconda versione, un puntatore a una PARAFORMAT2 struttura, ovvero un'estensione Rich Edit 2.0 alla PARAFORMAT struttura, che contiene gli attributi di formattazione dei caratteri predefiniti.

Valore restituito

Membro dwMask dati di pf. Specifica gli attributi di formattazione del paragrafo coerenti durante la selezione corrente.

Osservazioni:

Se sono selezionati più paragrafi, pf riceve gli attributi del primo paragrafo selezionato. Il valore restituito specifica gli attributi coerenti durante la selezione.

Per altre informazioni, vedere il EM_GETPARAFORMAT messaggio e le PARAFORMAT strutture e PARAFORMAT2 in Windows SDK.

Esempio

Vedere l'esempio per CRichEditCtrl::SetParaFormat.

CRichEditCtrl::GetPunctuation

Ottiene i caratteri di punteggiatura correnti in un controllo di modifica rtf.

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

Parametri

fType
Flag del tipo di punteggiatura, come descritto nel fType parametro di EM_GETPUNCTUATION in Windows SDK.

lpPunc
Puntatore a una PUNCTUATION struttura, come descritto in Windows SDK.

Valore restituito

Diverso da zero se l'operazione ha avuto esito positivo; in caso contrario, 0.

Osservazioni:

Questa funzione membro è disponibile solo con le versioni asiatiche del sistema operativo.

CRichEditCtrl::GetRect

Recupera il rettangolo di formattazione per questo CRichEditCtrl oggetto.

void GetRect(LPRECT lpRect) const;

Parametri

lpRect
CRect o puntatore a un RECT oggetto per ricevere il rettangolo di formattazione di questo CRichEditCtrl oggetto.

Osservazioni:

Il rettangolo di formattazione è il rettangolo di delimitazione per il testo. Questo valore è indipendente dalle dimensioni dell'oggetto CRichEditCtrl .

Per altre informazioni, vedere EM_GETRECT in Windows SDK.

Esempio

Vedere l'esempio per LimitText.

CRichEditCtrl::GetRedoName

Recupera il tipo dell'azione successiva disponibile nella coda di rollforward, se presente.

UNDONAMEID GetRedoName() const;

Valore restituito

Se ha esito positivo, GetRedoName restituisce il UNDONAMEID tipo di enumerazione che indica il tipo dell'azione successiva nella coda di rollforward del controllo. Se la coda di rollforward è vuota o se l'azione di rollforward nella coda è di un tipo sconosciuto, GetRedoName restituisce 0.

Osservazioni:

I tipi di azioni che è possibile annullare o ripetere includono operazioni di digitazione, eliminazione, trascinamento, taglio e incolla. Queste informazioni possono essere utili per le applicazioni che forniscono un'interfaccia utente estesa per le operazioni Annulla e Ripeti, ad esempio una casella di riepilogo a discesa di azioni ripristinabili.

CRichEditCtrl::GetSel

Recupera i limiti della selezione corrente in questo CRichEditCtrl oggetto.

void GetSel(CHARRANGE& cr) const;

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

Parametri

cr
Riferimento a una CHARRANGE struttura per ricevere i limiti della selezione corrente.

nStartChar
Indice in base zero del primo carattere nella selezione corrente.

nEndChar
Indice in base zero dell'ultimo carattere nella selezione corrente.

Osservazioni:

Le due forme di questa funzione forniscono modi alternativi per ottenere i limiti per la selezione. Di seguito sono riportate brevi descrizioni di questi moduli:

  • GetSel( cr ) Questo modulo usa la CHARRANGE struttura con i relativi cpMin membri e cpMax per restituire i limiti.

  • GetSel( nStartChar , nEndChar ) Questo modulo restituisce i limiti nei parametri nStartChar e .nEndChar

La selezione include tutti gli elementi se l'inizio (cpMin o nStartChar) è 0 e la fine (cpMax o nEndChar) è - 1.

Per altre informazioni, vedere EM_EXGETSEL messaggio e CHARRANGE struttura in Windows SDK.

Esempio

// 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

Ottiene gli attributi di formattazione dei caratteri della selezione corrente.

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

Parametri

cf
Nella prima versione, un puntatore a una CHARFORMAT struttura per ricevere gli attributi di formattazione dei caratteri della selezione corrente.

Nella seconda versione, un puntatore a una CHARFORMAT2 struttura, che è un'estensione Rich Edit 2.0 alla CHARFORMAT struttura per ricevere gli attributi di formattazione dei caratteri della selezione corrente.

Valore restituito

Membro dwMask dati di cf. Specifica gli attributi di formattazione dei caratteri coerenti durante la selezione corrente.

Osservazioni:

Il cf parametro riceve gli attributi del primo carattere nella selezione corrente. Il valore restituito specifica gli attributi coerenti durante la selezione.

Per altre informazioni, vedere il EM_GETCHARFORMAT messaggio e le CHARFORMAT strutture e CHARFORMAT2 in Windows SDK.

Esempio

Vedere l'esempio per SetSelectionCharFormat.

CRichEditCtrl::GetSelectionType

Determina il tipo di selezione in questo CRichEditCtrl oggetto.

WORD GetSelectionType() const;

Valore restituito

Flag che indicano il contenuto della selezione corrente. Combinazione dei flag seguenti:

  • SEL_EMPTY Indica che non è presente alcuna selezione corrente.

  • SEL_TEXT Indica che la selezione corrente contiene testo.

  • SEL_OBJECT Indica che la selezione corrente contiene almeno un elemento OLE.

  • SEL_MULTICHAR Indica che la selezione corrente contiene più di un carattere di testo.

  • SEL_MULTIOBJECT Indica che la selezione corrente contiene più oggetti OLE.

Osservazioni:

Per altre informazioni, vedere EM_SELECTIONTYPE in Windows SDK.

Esempio

// 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

Recupera il testo dalla selezione corrente in questo CRichEditCtrl oggetto.

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

Parametri

lpBuf
Puntatore al buffer per ricevere il testo nella selezione corrente.

Valore restituito

Dipende dal modulo:

  • GetSelText(lpBuf) Numero di caratteri copiati in lpBuf, non inclusa la terminazione Null.

  • GetSelText( ) Stringa contenente la selezione corrente.

Osservazioni:

Se si usa il primo modulo, , GetSelText(lpBuf)è necessario assicurarsi che il buffer sia sufficientemente grande per il testo che riceverà. Chiamare GetSel per determinare il numero di caratteri nella selezione corrente.

Per altre informazioni, vedere EM_GETSELTEXT in Windows SDK.

Esempio

Vedere l'esempio per CRichEditCtrl::GetSelectionType.

CRichEditCtrl::GetTextLength

Recupera la lunghezza del testo, in caratteri, in questo CRichEditCtrl oggetto, senza includere il carattere Null di terminazione.

long GetTextLength() const;

Valore restituito

Lunghezza del testo in questo CRichEditCtrl oggetto.

Osservazioni:

Per altre informazioni, vedere WM_GETTEXTLENGTH in Windows SDK.

Esempio

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

CRichEditCtrl::GetTextLengthEx

Calcola la lunghezza del testo nel controllo rich edit.

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

Parametri

dwFlags
Valore che specifica il metodo da utilizzare per determinare la lunghezza del testo. Questo membro può essere uno o più dei valori elencati nel membro flag di GETTEXTLENGTHEX descritto in Windows SDK.

uCodePage
Tabella codici per la traduzione (CP_ACP per tabella codici ANSI, 1200 per Unicode).

Valore restituito

Numero di caratteri o byte nel controllo di modifica. Se sono stati impostati flag incompatibili in dwFlags, questa funzione membro restituisce E_INVALIDARG.

Osservazioni:

GetTextLengthEx fornisce altri modi per determinare la lunghezza del testo. Supporta la funzionalità Rich Edit 2.0. Per altre informazioni, vedere Informazioni sui controlli Rich Edit in Windows SDK.

CRichEditCtrl::GetTextMode

Recupera la modalità di testo corrente e il livello di annullamento di un controllo di modifica rtf.

UINT GetTextMode() const;

Valore restituito

Set di flag di bit dal TEXTMODE tipo di enumerazione, come descritto in Windows SDK. I flag indicano la modalità di testo corrente e il livello di annullamento del controllo.

CRichEditCtrl::GetTextRange

Ottiene l'intervallo di caratteri specificato.

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

Parametri

nFirst
Indice della posizione del carattere immediatamente precedente al primo carattere nell'intervallo.

nLast
Posizione del carattere immediatamente dopo l'ultimo carattere nell'intervallo.

refString
Riferimento a un CString oggetto che riceverà il testo.

Valore restituito

Numero di caratteri copiati, non incluso il carattere Null di terminazione.

Osservazioni:

Per altre informazioni, vedere EM_GETTEXTRANGE in Windows SDK.

GetTextRange supporta la funzionalità Rich Edit 2.0. Per altre informazioni, vedere Informazioni sui controlli Rich Edit in Windows SDK.

CRichEditCtrl::GetUndoName

Recupera il tipo dell'azione successiva disponibile nella coda di annullamento, se presente.

UNDONAMEID GetUndoName() const;

Valore restituito

Se un'azione di annullamento si trova nella coda di annullamento del controllo, GetUndoName restituisce il tipo di enumerazione UNDONAMEID che indica il tipo dell'azione successiva nella coda. Se la coda di annullamento è vuota o se l'azione di annullamento nella coda è di un tipo sconosciuto, GetUndoName restituisce 0.

Osservazioni:

I tipi di azioni che è possibile annullare o ripetere includono operazioni di digitazione, eliminazione, trascinamento, taglio e incolla. Queste informazioni possono essere utili per le applicazioni che forniscono un'interfaccia utente estesa per le operazioni Annulla e Ripeti, ad esempio una casella di riepilogo a discesa di azioni che possono essere annullate.

CRichEditCtrl::GetWordWrapMode

Recupera le opzioni di ritorno a capo automatico e di word break correnti per il controllo rich edit.

UINT GetWordWrapMode() const;

Valore restituito

Opzioni di ritorno a capo automatico e di word break correnti. Queste opzioni sono descritte in EM_SETWORDWRAPMODE Windows SDK.

Osservazioni:

Questa funzione membro è disponibile solo per le versioni asiatiche del sistema operativo.

CRichEditCtrl::HideSelection

Modifica la visibilità della selezione.

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

Parametri

bHide
Indica se la selezione deve essere visualizzata o nascosta per TRUE nascondere la selezione.

bPerm
Indica se questa modifica nella visibilità della selezione deve essere permanente.

Osservazioni:

Quando bPerm è TRUE, viene modificata l'opzione ECO_NOHIDESEL per questo CRichEditCtrl oggetto. Per una breve descrizione di questa opzione, vedere SetOptions. È possibile utilizzare questa funzione per impostare tutte le opzioni per questo CRichEditCtrl oggetto.

Per altre informazioni, vedere EM_HIDESELECTION in Windows SDK.

Esempio

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

CRichEditCtrl::LimitText

Limita la lunghezza del testo che l'utente può immettere in un controllo di modifica.

void LimitText(long nChars = 0);

Parametri

nChars
Specifica la lunghezza in byte del testo che l'utente può immettere. Se questo parametro è 0 (valore predefinito), la lunghezza del testo viene impostata su 64 KB di byte.

Osservazioni:

La modifica del limite di testo limita solo il testo che l'utente può immettere. Non ha alcun effetto su alcun testo già presente nel controllo di modifica, né influisce sulla lunghezza del testo copiato nel controllo di modifica dalla SetWindowText funzione membro in CWnd. Se un'applicazione usa la SetWindowText funzione per inserire più testo in un controllo di modifica di quello specificato nella chiamata a LimitText, l'utente può eliminare qualsiasi testo all'interno del controllo di modifica. Tuttavia, il limite di testo impedirà all'utente di sostituire il testo esistente con nuovo testo, a meno che l'eliminazione della selezione corrente non causi che il testo scende al di sotto del limite di testo.

Nota

Per il limite di testo, ogni elemento OLE viene conteggiato come un singolo carattere.

Per altre informazioni, vedere EM_EXLIMITTEXT in Windows SDK.

Esempio

// 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

Recupera il numero di riga della riga contenente l'indice di caratteri specificato.

long LineFromChar(long nIndex) const;

Parametri

nIndex
Contiene il valore dell'indice in base zero per il carattere desiderato nel testo del controllo di modifica oppure contiene -1. Se nIndex è -1, specifica la riga corrente, ovvero la riga che contiene il cursore.

Valore restituito

Numero di riga in base zero della riga contenente l'indice dei caratteri specificato da nIndex. Se nIndex è -1, viene restituito il numero della riga contenente il primo carattere della selezione. Se non è presente alcuna selezione, viene restituito il numero di riga corrente.

Osservazioni:

Un indice di caratteri è il numero di caratteri dall'inizio del controllo rich edit. Per il conteggio dei caratteri, un elemento OLE viene conteggiato come un singolo carattere.

Per altre informazioni, vedere EM_EXLINEFROMCHAR in Windows SDK.

Esempio

// 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

Recupera l'indice di caratteri di una riga all'interno di questo CRichEditCtrl oggetto.

int LineIndex(int nLine = -1) const;

Parametri

nLine
Contiene il valore di indice per la riga desiderata nel testo del controllo di modifica oppure contiene -1. Se nLine è -1, specifica la riga corrente, ovvero la riga che contiene il cursore.

Valore restituito

Indice di caratteri della riga specificata in nLine o -1 se il numero di riga specificato è maggiore del numero di righe nel controllo di modifica.

Osservazioni:

L'indice dei caratteri è il numero di caratteri dall'inizio del controllo rich edit alla riga specificata.

Per altre informazioni, vedere EM_LINEINDEX in Windows SDK.

Esempio

// 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

Recupera la lunghezza di una riga in un controllo di modifica rtf.

int LineLength(int nLine = -1) const;

Parametri

nLine
Specifica l'indice di caratteri di un carattere nella riga la cui lunghezza deve essere recuperata. Se questo parametro è -1, viene restituita la lunghezza della riga corrente (la riga che contiene il cursore), senza includere la lunghezza di qualsiasi testo selezionato all'interno della riga. Quando LineLength viene chiamato per un controllo di modifica a riga singola, questo parametro viene ignorato.

Valore restituito

Quando LineLength viene chiamato per un controllo di modifica a più righe, il valore restituito è la lunghezza (in TCHAR) della riga specificata da nLine. Non include il carattere di ritorno a capo alla fine della riga. Quando LineLength viene chiamato per un controllo di modifica a riga singola, il valore restituito è la lunghezza (in TCHAR) del testo nel controllo di modifica. Se nLine è maggiore del numero di caratteri nel controllo, il valore restituito è zero.

Osservazioni:

Utilizzare la LineIndex funzione membro per recuperare un indice di caratteri per un determinato numero di riga all'interno di questo CRichEditCtrl oggetto.

Per altre informazioni, vedere EM_LINELENGTH in Windows SDK.

Esempio

Vedere l'esempio per LineIndex.

CRichEditCtrl::LineScroll

Scorre il testo di un controllo di modifica a più righe.

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

Parametri

nLines
Specifica il numero di righe da scorrere verticalmente.

nChars
Specifica il numero di posizioni dei caratteri da scorrere orizzontalmente. Questo valore viene ignorato se il controllo rich edit ha lo ES_RIGHT stile o ES_CENTER . Gli stili di modifica vengono specificati in Create.

Osservazioni:

Il controllo di modifica non scorre verticalmente oltre l'ultima riga di testo nel controllo di modifica. Se la riga corrente più il numero di righe specificato da nLines supera il numero totale di righe nel controllo di modifica, il valore viene regolato in modo che l'ultima riga del controllo di modifica venga scorrere fino alla parte superiore della finestra di controllo di modifica.

LineScroll può essere utilizzato per scorrere orizzontalmente oltre l'ultimo carattere di qualsiasi riga.

Per altre informazioni, vedere EM_LINESCROLL in Windows SDK.

Esempio

Vedere l'esempio per GetFirstVisibleLine.

CRichEditCtrl::Paste

Inserisce i dati dagli Appunti nell'oggetto CRichEditCtrl in corrispondenza del punto di inserimento, la posizione del cursore.

void Paste();

Osservazioni:

I dati vengono inseriti solo se gli Appunti contengono dati in un formato riconosciuto.

Per altre informazioni, vedere WM_PASTE in Windows SDK.

Esempio

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

CRichEditCtrl::PasteSpecial

Incolla i dati in un formato specifico degli Appunti in questo CRichEditCtrl oggetto.

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

Parametri

nClipFormat
Formato degli Appunti da incollare in questo CRichEditCtrl oggetto.

dvAspect
Aspetto del dispositivo per i dati da recuperare dagli Appunti.

hMF
Handle per il metafile contenente la visualizzazione iconica dell'oggetto da incollare.

Osservazioni:

Il nuovo materiale viene inserito nel punto di inserimento, la posizione del cursore.

Per altre informazioni, vedere EM_PASTESPECIAL in Windows SDK.

Esempio

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

CRichEditCtrl::PosFromChar

Recupera le coordinate dell'area client di un carattere specificato in un controllo di modifica.

CPoint PosFromChar(UINT nChar) const;

Parametri

nChar
Indice in base zero del carattere.

Valore restituito

Posizione del carattere , (x, y). Per un controllo di modifica a riga singola, la coordinata y è sempre zero.

Osservazioni:

Per altre informazioni, vedere EM_POSFROMCHAR in Windows SDK.

CRichEditCtrl::Redo

Ripete l'azione successiva nella coda di rollforward del controllo.

BOOL Redo();

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Per altre informazioni, vedere EM_REDO in Windows SDK.

CRichEditCtrl::ReplaceSel

Sostituisce la selezione corrente in questo CRichEditCtrl oggetto con il testo specificato.

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

Parametri

lpszNewText
Puntatore a una stringa con terminazione Null contenente il testo sostitutivo.

bCanUndo
Per specificare che questa funzione può essere annullata, impostare il valore di questo parametro su TRUE. Il valore predefinito è FALSE.

Osservazioni:

Per sostituire tutto il testo in questo CRichEditCtrl oggetto, utilizzare CWnd::SetWindowText.

Se non è presente alcuna selezione corrente, il testo di sostituzione viene inserito nel punto di inserimento, ovvero la posizione corrente del cursore.

Questa funzione formatterà il testo inserito con la formattazione dei caratteri esistente. Quando si sostituisce l'intero intervallo di testo (chiamando SetSel(0,-1) prima di chiamare ReplaceSel), è presente una fine del carattere di paragrafo che mantiene la formattazione del paragrafo precedente, ereditata dal testo appena inserito.

Per altre informazioni, vedere EM_REPLACESEL in Windows SDK.

Esempio

Vedere l'esempio per LineIndex.

CRichEditCtrl::RequestResize

Forza l'oggetto CRichEditCtrl a inviare EN_REQUESTRESIZE messaggi di notifica alla finestra padre.

void RequestResize();

Osservazioni:

Questa funzione è utile durante CWnd::OnSize l'elaborazione di un oggetto senza CRichEditCtrl fondo.

Per altre informazioni, vedere il messaggio e la EM_REQUESTRESIZE sezione Controlli rich Edit senza fondo di Informazioni sui controlli di modifica rtf in Windows SDK.

CRichEditCtrl::SetAutoURLDetect

Imposta il controllo rich edit per rilevare automaticamente un URL.

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

Parametri

bEnable
Specifica se il controllo è impostato per rilevare automaticamente un URL. Se TRUE, è abilitato. Se FALSE, è disabilitato.

Valore restituito

Zero se ha esito positivo; in caso contrario, diverso da zero. Ad esempio, il messaggio potrebbe non riuscire a causa di memoria insufficiente.

Osservazioni:

Se abilitato, il controllo rich edit analizzerà il testo per determinare se corrisponde a un formato URL standard. Per un elenco di questi formati di URL, vedere EM_AUTOURLDETECT in Windows SDK.

Nota

Non impostare su SetAutoURLDetect TRUE se il controllo di modifica utilizza l'effetto per il CFE_LINK testo diverso dagli URL. SetAutoURLDetect abilita questo effetto per gli URL e lo disabilita per tutto l'altro testo. Per altre informazioni sull'effettoCFE_LINK, vedere EN_LINK.

CRichEditCtrl::SetBackgroundColor

Imposta il colore di sfondo per questo CRichEditCtrl oggetto.

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

Parametri

bSysColor
Indica se il colore di sfondo deve essere impostato sul valore di sistema. Se questo valore è TRUE, cr viene ignorato.

cr
Colore di sfondo richiesto. Usato solo se bSysColor è FALSE.

Valore restituito

Colore di sfondo precedente per questo CRichEditCtrl oggetto.

Osservazioni:

Il colore di sfondo può essere impostato sul valore di sistema o su un valore specificato COLORREF .

Per altre informazioni, vedere EM_SETBKGNDCOLOR messaggio e COLORREF struttura in Windows SDK.

Esempio

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

CRichEditCtrl::SetDefaultCharFormat

Imposta gli attributi di formattazione dei caratteri per il nuovo testo in questo CRichEditCtrl oggetto.

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

Parametri

cf
Nella prima versione, un puntatore a una CHARFORMAT struttura contenente i nuovi attributi di formattazione dei caratteri predefiniti.

Nella seconda versione, un puntatore a una CHARFORMAT2 struttura, che è un'estensione Rich Edit 2.0 alla CHARFORMAT struttura, contenente gli attributi di formattazione dei caratteri predefiniti.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Solo gli attributi specificati dal dwMask membro di cf vengono modificati da questa funzione.

Per altre informazioni, vedere il EM_SETCHARFORMAT messaggio e le CHARFORMAT strutture e CHARFORMAT2 in Windows SDK.

Esempio

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

Imposta la maschera evento per questo CRichEditCtrl oggetto.

DWORD SetEventMask(DWORD dwEventMask);

Parametri

dwEventMask
Nuova maschera evento per questo CRichEditCtrl oggetto.

Valore restituito

Maschera evento precedente.

Osservazioni:

La maschera eventi specifica i messaggi di notifica inviati dall'oggetto CRichEditCtrl alla relativa finestra padre.

Per altre informazioni, vedere EM_SETEVENTMASK in Windows SDK.

Esempio

// 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

Imposta o cancella il flag modificato per un controllo di modifica.

void SetModify(BOOL bModified = TRUE);

Parametri

bModified
Un valore indica TRUE che il testo è stato modificato e un valore indica FALSE che non è stato modificato. Per impostazione predefinita, il flag modificato è impostato.

Osservazioni:

Il flag modificato indica se il testo all'interno del controllo di modifica è stato modificato. Viene impostato automaticamente ogni volta che l'utente modifica il testo. Il valore può essere recuperato con la GetModify funzione membro.

Per altre informazioni, vedere EM_SETMODIFY in Windows SDK.

Esempio

Vedere l'esempio per GetModify.

CRichEditCtrl::SetOLECallback

Fornisce a questo CRichEditCtrl oggetto un IRichEditOleCallback oggetto da utilizzare per accedere alle risorse e alle informazioni correlate a OLE.

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

Parametri

pCallback
Puntatore a un IRichEditOleCallback oggetto che verrà utilizzato da questo CRichEditCtrl oggetto per ottenere informazioni e risorse correlate a OLE.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Questo CRichEditCtrl oggetto chiamerà IUnknown::AddRef per incrementare il numero di utilizzo per l'oggetto COM specificato da pCallback.

Per altre informazioni, vedere EM_SETOLECALLBACK messaggio e IRichEditOleCallback interfaccia in Windows SDK.

CRichEditCtrl::SetOptions

Imposta le opzioni per questo CRichEditCtrl oggetto.

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

Parametri

wOp
Indica il tipo di operazione. Uno dei valori seguenti:

  • ECOOP_SET Impostare le opzioni su quelle specificate da dwFlags.

  • ECOOP_OR Combinare le opzioni correnti con quelle specificate da dwFlags.

  • ECOOP_AND Mantenere solo le opzioni correnti specificate anche da dwFlags.

  • ECOOP_XOR OR esclusivo logicamente le opzioni correnti con quelle specificate da dwFlags.

dwFlags
Opzioni di modifica avanzate. I valori del flag sono elencati nella sezione Osservazioni.

Osservazioni:

Le opzioni possono essere una combinazione dei valori seguenti:

  • ECO_AUTOWORDSELECTION Selezione automatica delle parole al doppio clic.

  • ECO_AUTOVSCROLL Scorre automaticamente il testo a destra di 10 caratteri quando l'utente digita un carattere alla fine della riga. Quando l'utente preme il tasto INVIO, il controllo scorre tutto il testo fino alla posizione zero.

  • ECO_AUTOHSCROLL Scorre automaticamente il testo verso l'alto di una pagina quando l'utente preme il tasto INVIO sull'ultima riga.

  • ECO_NOHIDESEL Nega il comportamento predefinito per un controllo di modifica. Il comportamento predefinito nasconde la selezione quando il controllo perde lo stato attivo dell'input e mostra la selezione quando il controllo riceve lo stato attivo di input. Se si specifica ECO_NOHIDESEL, il testo selezionato viene invertito, anche se il controllo non ha lo stato attivo.

  • ECO_READONLY Impedisce all'utente di digitare o modificare il testo nel controllo di modifica.

  • ECO_WANTRETURN Specifica che un ritorno a capo viene inserito quando l'utente preme IL tasto INVIO durante l'immissione di testo in un controllo di modifica rtf a più righe in una finestra di dialogo. Se non si specifica questo stile, premendo INVIO viene inviato un comando alla finestra padre del controllo rich edit, che simula il pulsante predefinito della finestra padre, ad esempio il pulsante OK in una finestra di dialogo. Questo stile non ha alcun effetto su un controllo di modifica a riga singola.

  • ECO_SAVESEL Mantiene la selezione quando il controllo perde lo stato attivo. Per impostazione predefinita, l'intero contenuto del controllo viene selezionato quando recupera lo stato attivo.

  • ECO_VERTICAL Disegna testo e oggetti in direzione verticale. Disponibile solo per le lingue asiatiche.

Per altre informazioni, vedere EM_SETOPTIONS in Windows SDK.

Esempio

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

CRichEditCtrl::SetParaFormat

Imposta gli attributi di formattazione del paragrafo per la selezione corrente in questo CRichEditCtrl oggetto.

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

Parametri

pf
Nella prima versione, un puntatore a una PARAFORMAT struttura contenente i nuovi attributi di formattazione di paragrafo predefiniti.

Nella seconda versione, un puntatore a una PARAFORMAT2 struttura, ovvero un'estensione Rich Edit 2.0 alla PARAFORMAT struttura, che contiene gli attributi di formattazione dei caratteri predefiniti.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Solo gli attributi specificati dal dwMask membro di pf vengono modificati da questa funzione.

Per altre informazioni, vedere il EM_SETPARAFORMAT messaggio e le PARAFORMAT strutture e PARAFORMAT2 in Windows SDK.

Esempio

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

Imposta la punteggiatura in un controllo di modifica rtf.

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

Parametri

fType
Flag di punteggiatura. Per un elenco dei valori possibili, vedere il fType parametro per EM_SETPUNCTUATION in Windows SDK.

lpPunc
Puntatore a una PUNCTUATION struttura, come descritto in Windows SDK.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Questa funzione membro è disponibile solo per le versioni asiatiche del sistema operativo.

CRichEditCtrl::SetReadOnly

Modifica l'opzione ECO_READONLY per questo CRichEditCtrl oggetto.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Parametri

bReadOnly
Indica se l'oggetto CRichEditCtrl deve essere di sola lettura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Per una breve descrizione di questa opzione, vedere SetOptions. È possibile utilizzare questa funzione per impostare tutte le opzioni per questo CRichEditCtrl oggetto.

Per altre informazioni, vedere EM_SETREADONLY in Windows SDK.

Esempio

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

CRichEditCtrl::SetRect

Imposta il rettangolo di formattazione per questo CRichEditCtrl oggetto.

void SetRect(LPCRECT lpRect);

Parametri

lpRect
CRect o puntatore a un oggetto RECT che indica i nuovi limiti per il rettangolo di formattazione.

Osservazioni:

Il rettangolo di formattazione è il rettangolo di limitazione per il testo. Il rettangolo di limitazione è indipendente dalle dimensioni della finestra di controllo di modifica avanzata. Quando questo CRichEditCtrl oggetto viene creato per la prima volta, il rettangolo di formattazione corrisponde alla stessa dimensione dell'area client della finestra. Usare SetRect per ingrandire o ridimensionare il rettangolo di formattazione rispetto alla finestra di modifica avanzata.

Per altre informazioni, vedere EM_SETRECT in Windows SDK.

Esempio

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

Imposta la selezione all'interno di questo CRichEditCtrl oggetto.

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

Parametri

nStartChar
Indice in base zero del primo carattere per la selezione.

nEndChar
Indice in base zero dell'ultimo carattere per la selezione.

cr
CHARRANGE struttura che contiene i limiti della selezione corrente.

Osservazioni:

Le due forme di questa funzione forniscono modi alternativi per impostare i limiti per la selezione. Di seguito sono riportate brevi descrizioni di questi moduli:

  • SetSel( cr ) Questo modulo usa la CHARRANGE struttura con i relativi cpMin membri e cpMax per impostare i limiti.

  • SetSel( nStartChar , nEndChar ) Questo modulo usa i nStartChar parametri e nEndChar per impostare i limiti.

Il cursore viene posizionato alla fine della selezione indicata dal maggiore degli indici iniziale (cpMin o nStartChar) e finale (cpMax o nEndChar). Questa funzione scorre il contenuto di in CRichEditCtrl modo che il cursore sia visibile.

Per selezionare tutto il testo in questo CRichEditCtrl oggetto, chiamare SetSel con un indice iniziale pari a 0 e un indice finale pari a - 1.

Per altre informazioni, vedere EM_EXSETSEL messaggio e CHARRANGE struttura in Windows SDK.

Esempio

Vedere l'esempio per GetSel.

CRichEditCtrl::SetSelectionCharFormat

Imposta gli attributi di formattazione dei caratteri per il testo nella selezione corrente in questo CRichEditCtrl oggetto.

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

Parametri

cf
Nella prima versione, un puntatore a una CHARFORMAT struttura contenente i nuovi attributi di formattazione dei caratteri per la selezione corrente.

Nella seconda versione, un puntatore a una CHARFORMAT2 struttura, che è un'estensione Rich Edit 2.0 alla CHARFORMAT struttura, contenente i nuovi attributi di formattazione dei caratteri per la selezione corrente.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Solo gli attributi specificati dal dwMask membro di cf vengono modificati da questa funzione.

Per altre informazioni, vedere e le EM_SETCHARFORMAT CHARFORMAT CHARFORMAT2 strutture e in Windows SDK.

Esempio

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

Imposta la larghezza del dispositivo di destinazione e della linea usata per WYSIWYG (quello che vedi è quello che ottieni) formattazione in questo CRichEditCtrl oggetto.

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

Parametri

hDC
Gestire il contesto del dispositivo per il nuovo dispositivo di destinazione.

lLineWidth
Larghezza linea da utilizzare per la formattazione.

dc
CDC per il nuovo dispositivo di destinazione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Se questa funzione ha esito positivo, il controllo rich edit è proprietario del contesto di dispositivo passato come parametro. In tal caso, la funzione chiamante non deve distruggere il contesto del dispositivo.

Per altre informazioni, vedere EM_SETTARGETDEVICE in Windows SDK.

Esempio

// 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

Imposta la modalità di testo o il livello di annullamento e rollforward per un controllo di modifica rtf.

BOOL SetTextMode(UINT fMode);

Parametri

fMode
Specifica le nuove impostazioni per la modalità di testo del controllo e i parametri di annullamento del livello. Per un elenco dei valori possibili, vedere il parametro mode per EM_SETTEXTMODE in Windows SDK.

Valore restituito

Zero se ha esito positivo; in caso contrario, diverso da zero.

Osservazioni:

Per una descrizione delle modalità di testo, vedere EM_SETTEXTMODE in Windows SDK.

Questa funzione membro ha esito negativo se il controllo contiene testo. Per assicurarsi che il controllo sia vuoto, inviare un WM_SETTEXT messaggio con una stringa vuota.

CRichEditCtrl::SetUndoLimit

Imposta il numero massimo di azioni che possono essere archiviate nella coda di annullamento.

UINT SetUndoLimit(UINT nLimit);

Parametri

nLimit
Specifica il numero massimo di azioni che possono essere archiviate nella coda di annullamento. Impostare su zero per disabilitare Annulla.

Valore restituito

Nuovo numero massimo di azioni di annullamento per il controllo di modifica rtf.

Osservazioni:

Per impostazione predefinita, il numero massimo di azioni nella coda di annullamento è 100. Se si aumenta questo numero, è necessario che la memoria disponibile sia sufficiente per contenere il nuovo numero. Per prestazioni migliori, impostare il limite sul valore più piccolo possibile.

CRichEditCtrl::SetWordCharFormat

Imposta gli attributi di formattazione dei caratteri per la parola attualmente selezionata in questo CRichEditCtrl oggetto.

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

Parametri

cf
Nella prima versione, un puntatore a una CHARFORMAT struttura contenente i nuovi attributi di formattazione dei caratteri per la parola attualmente selezionata.

Nella seconda versione, un puntatore a una CHARFORMAT2 struttura, che è un'estensione Rich Edit 2.0 alla CHARFORMAT struttura, contenente i nuovi attributi di formattazione dei caratteri per la parola attualmente selezionata.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Solo gli attributi specificati dal dwMask membro di cf vengono modificati da questa funzione.

Per altre informazioni, vedere il EM_SETCHARFORMAT messaggio e le CHARFORMAT strutture e CHARFORMAT2 in Windows SDK.

Esempio

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

Imposta le opzioni di ritorno a capo automatico e di word break per il controllo di modifica rtf.

UINT SetWordWrapMode(UINT uFlags) const;

Parametri

uFlags
Opzioni da impostare per il ritorno a capo automatico e il word break. Per un elenco delle opzioni possibili, vedere EM_SETWORDWRAPMODE in Windows SDK.

Valore restituito

Opzioni correnti di ritorno a capo automatico e di word break.

Osservazioni:

Questo messaggio è disponibile solo nelle versioni asiatiche del sistema operativo.

CRichEditCtrl::StopGroupTyping

Impedisce al controllo di raccogliere altre azioni di digitazione nell'azione di annullamento corrente.

void StopGroupTyping();

Osservazioni:

Il controllo archivia l'azione di digitazione successiva, se presente, in una nuova azione nella coda di annullamento.

Per altre informazioni, vedere EM_STOPGROUPTYPING in Windows SDK.

CRichEditCtrl::StreamIn

Sostituisce il testo in questo CRichEditCtrl oggetto con testo del flusso di input specificato.

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

Parametri

nFormat
Flag che specificano i formati di dati di input. Per ulteriori informazioni, vedere le sezione Note.

es
EDITSTREAM struttura che specifica il flusso di input. Per ulteriori informazioni, vedere le sezione Note.

Valore restituito

Numero di caratteri letti dal flusso di input.

Osservazioni:

Il valore di nFormat deve essere uno dei seguenti:

  • SF_TEXT Indica solo la lettura del testo.

  • SF_RTF Indica la lettura di testo e formattazione.

Uno di questi valori può essere combinato con SFF_SELECTION. Se SFF_SELECTION viene specificato, StreamIn sostituisce la selezione corrente con il contenuto del flusso di input. Se non viene specificato, StreamIn sostituisce l'intero contenuto di questo CRichEditCtrl oggetto.

EDITSTREAM Nel parametro esspecificare una funzione di callback che riempie un buffer con testo. Questa funzione di callback viene chiamata ripetutamente, fino a quando il flusso di input non viene esaurito.

Per altre informazioni, vedere EM_STREAMIN messaggio e EDITSTREAM struttura in Windows SDK.

Esempio

// 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

Scrive il contenuto di questo CRichEditCtrl oggetto nel flusso di output specificato.

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

Parametri

nFormat
Flag che specificano i formati di dati di output. Per ulteriori informazioni, vedere le sezione Note.

es
EDITSTREAM struttura che specifica il flusso di output. Per ulteriori informazioni, vedere le sezione Note.

Valore restituito

Numero di caratteri scritti nel flusso di output.

Osservazioni:

Il valore di nFormat deve essere uno dei seguenti:

  • SF_TEXT Indica solo la scrittura di testo.

  • SF_RTF Indica la scrittura di testo e formattazione.

  • SF_RTFNOOBJS Indica la scrittura di testo e formattazione, sostituendo gli elementi OLE con spazi.

  • SF_TEXTIZED Indica la scrittura di testo e formattazione, con rappresentazioni testuali di elementi OLE.

Uno di questi valori può essere combinato con SFF_SELECTION. Se SFF_SELECTION viene specificato, StreamOut scrive la selezione corrente nel flusso di output. Se non è specificato, StreamOut scrive l'intero contenuto di questo CRichEditCtrl oggetto.

EDITSTREAM Nel parametro esspecificare una funzione di callback che riempie un buffer con testo. Questa funzione di callback viene chiamata ripetutamente, fino a quando il flusso di output non viene esaurito.

Per altre informazioni, vedere EM_STREAMOUT messaggio e EDITSTREAM struttura in Windows SDK.

Esempio

// 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

Annulla l'ultima operazione nel controllo rich edit.

BOOL Undo();

Valore restituito

Diverso da zero se l'operazione di annullamento ha esito positivo; in caso contrario, 0.

Osservazioni:

È anche possibile annullare un'operazione di annullamento. Ad esempio, è possibile ripristinare il testo eliminato con la prima chiamata a Undo. Finché non è presente alcuna operazione di modifica, è possibile rimuovere di nuovo il testo con una seconda chiamata a Undo.

Per altre informazioni, vedere EM_UNDO in Windows SDK.

Esempio

Vedere l'esempio per CanUndo.

Vedi anche

WORDPAD di esempio MFC
CWnd Classe
Grafico della gerarchia
CEdit Classe
CRichEditView Classe