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 CRichEditCtrl
di , 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à
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 AfxInitRichEdit
globale , 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_NCCREATE
messaggi , WM_NCCALCSIZE
, WM_CREATE
e WM_GETMINMAXINFO
al controllo di modifica.
Questi messaggi vengono gestiti per impostazione predefinita dalle OnNcCreate
funzioni membro , OnNcCalcSize
OnCreate
, 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 OnCreate
di , 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 SetWindowText
membro .
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 laCHARRANGE
struttura con i relativicpMin
membri ecpMax
per restituire i limiti.GetSel(
nStartChar
,nEndChar
) Questo modulo restituisce i limiti nei parametrinStartChar
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 inlpBuf
, 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 dadwFlags
.ECOOP_OR
Combinare le opzioni correnti con quelle specificate dadwFlags
.ECOOP_AND
Mantenere solo le opzioni correnti specificate anche dadwFlags
.ECOOP_XOR
OR esclusivo logicamente le opzioni correnti con quelle specificate dadwFlags
.
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 specificaECO_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 laCHARRANGE
struttura con i relativicpMin
membri ecpMax
per impostare i limiti.SetSel(
nStartChar
,nEndChar
) Questo modulo usa inStartChar
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 es
specificare 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 es
specificare 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