Klasa CRichEditView
Dzięki CRichEditDoc i CRichEditCntrItem zapewnia funkcjonalność rozbudowanej kontrolki edycji w kontekście architektury widoku dokumentów MFC.
Składnia
class CRichEditView : public CCtrlView
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CRichEditView::CRichEditView | CRichEditView Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CRichEditView::AdjustDialogPosition | Przenosi okno dialogowe, aby nie ukrywało bieżącego zaznaczenia. |
CRichEditView::CanPaste | Informuje, czy Schowek zawiera dane, które można wkleić do widoku edycji wzbogaconej. |
CRichEditView::D oPaste | Wkleja element OLE do tego widoku edycji wzbogaconej. |
CRichEditView::FindText | Znajduje określony tekst, wywołując kursor oczekiwania. |
CRichEditView::FindTextSimple | Znajduje określony tekst. |
CRichEditView::GetCharFormatSelection | Pobiera atrybuty formatowania znaków dla bieżącego zaznaczenia. |
CRichEditView::GetDocument | Pobiera wskaźnik do powiązanego obiektu CRichEditDoc. |
CRichEditView::GetInPlaceActiveItem | Pobiera element OLE, który jest obecnie aktywny w widoku edycji wzbogaconej. |
CRichEditView::GetMargins | Pobiera marginesy dla tego widoku edycji wzbogaconej. |
CRichEditView::GetPageRect | Pobiera prostokąt strony dla tego widoku edycji sformatowanej. |
CRichEditView::GetPaperSize | Pobiera rozmiar papieru dla tego widoku edycji wzbogaconej. |
CRichEditView::GetParaFormatSelection | Pobiera atrybuty formatowania akapitu dla bieżącego zaznaczenia. |
CRichEditView::GetPrintRect | Pobiera prostokąt wydruku dla tego widoku edycji sformatowanej. |
CRichEditView::GetPrintWidth | Pobiera szerokość wydruku dla tego widoku edycji wzbogaconej. |
CRichEditView::GetRichEditCtrl | Pobiera kontrolkę edycji wzbogaconej. |
CRichEditView::GetSelectedItem | Pobiera wybrany element z widoku edycji wzbogaconej. |
CRichEditView::GetTextLength | Pobiera długość tekstu w widoku edycji sformatowanej. |
CRichEditView::GetTextLengthEx | Pobiera liczbę znaków lub bajtów w widoku edycji wzbogaconej. Rozwinięta lista flag dla metody określania długości. |
CRichEditView::InsertFileAsObject | Wstawia plik jako element OLE. |
CRichEditView::InsertItem | Wstawia nowy element jako element OLE. |
CRichEditView::IsRichEditFormat | Informuje, czy Schowek zawiera dane w formacie edycji sformatowanej lub tekstowej. |
CRichEditView::OnChareffect | Przełącza formatowanie znaków dla bieżącego zaznaczenia. |
CRichEditView::OnParaAlign | Zmienia wyrównanie akapitów. |
CRichEditView::OnUpdateChareffect | Aktualizuje interfejs użytkownika polecenia dla funkcji publicznych składowych znaków. |
CRichEditView::OnUpdateParaAlign | Aktualizuje interfejs użytkownika polecenia dla funkcji publicznych składowych akapitu. |
CRichEditView::P rintInsideRect | Formatuje określony tekst w danym prostokątze. |
CRichEditView::P rintPage | Formatuje określony tekst na danej stronie. |
CRichEditView::SetCharFormat | Ustawia atrybuty formatowania znaków dla bieżącego zaznaczenia. |
CRichEditView::SetMargins | Ustawia marginesy dla tego widoku edycji wzbogaconej. |
CRichEditView::SetPaperSize | Ustawia rozmiar papieru dla tego widoku edycji sformatowanej. |
CRichEditView::SetParaFormat | Ustawia atrybuty formatowania akapitu dla bieżącego zaznaczenia. |
CRichEditView::TextNotFound | Resetuje wewnętrzny stan wyszukiwania kontrolki. |
Metody chronione
Nazwa/nazwisko | opis |
---|---|
CRichEditView::GetClipboardData | Pobiera obiekt Schowka dla zakresu w tym widoku edycji wzbogaconej. |
CRichEditView::GetContextMenu | Pobiera menu kontekstowe do użycia na prawym przycisku myszy w dół. |
CRichEditView::IsSelected | Wskazuje, czy dany element OLE jest zaznaczony, czy nie. |
CRichEditView::OnFindNext | Znajduje następne wystąpienie podciągów. |
CRichEditView::OninitialUpdate | Odświeża widok po pierwszym dołączeniu do dokumentu. |
CRichEditView::OnPasteNativeObject | Pobiera dane natywne z elementu OLE. |
CRichEditView::OnPrinterChanged | Ustawia właściwości drukowania dla danego urządzenia. |
CRichEditView::OnReplaceAll | Zamienia wszystkie wystąpienia danego ciągu na nowy ciąg. |
CRichEditView::OnReplaceSel | Zamienia bieżące zaznaczenie. |
CRichEditView::OnTextNotFound | Obsługuje powiadomienie użytkownika, że żądany tekst nie został znaleziony. |
CRichEditView::QueryAcceptData | Zapytania dotyczące danych w obiekcie IDataObject . |
CRichEditView::WrapChanged | Dostosowuje docelowe urządzenie wyjściowe dla tego zaawansowanego widoku edycji na podstawie wartości m_nWordWrap . |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CRichEditView::m_nBulletIndent | Wskazuje ilość wcięcia dla list punktorów. |
CRichEditView::m_nWordWrap | Wskazuje ograniczenia zawijania wyrazów. |
Uwagi
"Kontrolka edycji sformatowanej" to okno, w którym użytkownik może wprowadzać i edytować tekst. Tekst można przypisać do formatowania znaków i akapitów oraz zawierać osadzone obiekty OLE. Kontrolki edycji wzbogaconej udostępniają interfejs programowania do formatowania tekstu. Jednak aplikacja musi zaimplementować wszystkie składniki interfejsu użytkownika niezbędne do udostępnienia użytkownikom operacji formatowania.
CRichEditView
zachowuje charakterystykę tekstu i formatowania tekstu. CRichEditDoc
program obsługuje listę elementów klienta OLE, które znajdują się w widoku. CRichEditCntrItem
Zapewnia dostęp po stronie kontenera do elementu klienta OLE.
Ta wspólna kontrolka systemu Windows (i dlatego CRichEditCtrl i powiązane klasy) jest dostępna tylko dla programów działających w systemach Windows 95/98 i Windows NT w wersji 3.51 lub nowszej.
Przykład użycia widoku edycji wzbogaconej w aplikacji MFC można znaleźć w przykładowej aplikacji WORDPAD .
Hierarchia dziedziczenia
CRichEditView
Wymagania
Nagłówek: afxrich.h
CRichEditView::AdjustDialogPosition
Wywołaj tę funkcję, aby przenieść podane okno dialogowe, aby nie zasłonić bieżącego zaznaczenia.
void AdjustDialogPosition(CDialog* pDlg);
Parametry
pDlg
Wskaźnik do CDialog
obiektu.
CRichEditView::CanPaste
Wywołaj tę funkcję, aby określić, czy Schowek zawiera informacje, które można wkleić do tego widoku edycji wzbogaconej.
BOOL CanPaste() const;
Wartość zwracana
Niezero, jeśli Schowek zawiera dane w formacie, który może zaakceptować ten widok edycji sformatowanej; w przeciwnym razie, 0.
CRichEditView::CRichEditView
Wywołaj tę funkcję, aby utworzyć CRichEditView
obiekt.
CRichEditView();
CRichEditView::D oPaste
Wywołaj tę funkcję, aby wkleić element OLE w obiekcie dataobj do tej bogatej edycji dokumentu/widoku.
void DoPaste(
COleDataObject& dataobj,
CLIPFORMAT cf,
HMETAFILEPICT hMetaPict);
Parametry
dataobj
Obiekt COleDataObject zawierający dane do wklejenia.
por
Żądany format Schowka.
hMetaPict
Metaplik reprezentujący element, który ma zostać wklejony.
Uwagi
Struktura wywołuje tę funkcję jako część domyślnej implementacji QueryAcceptData.
Ta funkcja określa typ wklejania na podstawie wyników programu obsługi dla funkcji Wklej specjalne. Jeśli wartość cf ma wartość 0, nowy element używa bieżącej kultowej reprezentacji. Jeśli wartość cf jest niezerowa, a hMetaPict nie ma wartości NULL, nowy element używa hMetaPict do reprezentowania.
CRichEditView::FindText
Wywołaj tę funkcję, aby znaleźć określony tekst i ustawić go jako bieżący wybór.
BOOL FindText(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
Parametry
lpszFind
Zawiera ciąg do wyszukania.
bCase
Wskazuje, czy w wyszukiwaniu jest uwzględniana wielkość liter.
bWord
Wskazuje, czy wyszukiwanie powinno być zgodne tylko z całymi wyrazami, a nie częściami wyrazów.
bNext
Wskazuje kierunek wyszukiwania. Jeśli wartość TRUE, kierunek wyszukiwania znajduje się na końcu buforu. Jeśli wartość FALSE, kierunek wyszukiwania zbliża się do początku buforu.
Wartość zwracana
Niezero, jeśli zostanie znaleziony tekst lpszFind ; w przeciwnym razie 0.
Uwagi
Ta funkcja wyświetla kursor oczekiwania podczas operacji znajdowania.
Przykład
void CMyRichEditView::OnReplaceAll(LPCTSTR lpszFind, LPCTSTR lpszReplace,
BOOL bCase, BOOL bWord)
{
CWaitCursor wait;
// no selection or different than what we are looking for
if (!FindText(lpszFind, bCase, bWord))
{
OnTextNotFound(lpszFind);
return;
}
GetRichEditCtrl().HideSelection(TRUE, FALSE);
m_nNumReplaced = 0;
do
{
GetRichEditCtrl().ReplaceSel(lpszReplace);
m_nNumReplaced++; // Record the number of replacements
} while (FindTextSimple(lpszFind));
GetRichEditCtrl().HideSelection(FALSE, FALSE);
}
CRichEditView::FindTextSimple
Wywołaj tę funkcję, aby znaleźć określony tekst i ustawić go jako bieżący wybór.
BOOL FindTextSimple(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
Parametry
lpszFind
Zawiera ciąg do wyszukania.
bCase
Wskazuje, czy w wyszukiwaniu jest uwzględniana wielkość liter.
bWord
Wskazuje, czy wyszukiwanie powinno być zgodne tylko z całymi wyrazami, a nie częściami wyrazów.
bNext
Wskazuje kierunek wyszukiwania. Jeśli wartość TRUE, kierunek wyszukiwania znajduje się na końcu buforu. Jeśli wartość FALSE, kierunek wyszukiwania zbliża się do początku buforu.
Wartość zwracana
Niezero, jeśli zostanie znaleziony tekst lpszFind ; w przeciwnym razie 0.
Przykład
Zobacz przykład CRichEditView ::FindText.
CRichEditView::GetCharFormatSelection
Wywołaj tę funkcję, aby uzyskać atrybuty formatowania znaków bieżącego zaznaczenia.
CHARFORMAT2& GetCharFormatSelection();
Wartość zwracana
Struktura CHARFORMAT2 zawierająca atrybuty formatowania znaków bieżącego zaznaczenia.
Uwagi
Aby uzyskać więcej informacji, zobacz komunikat EM_GETCHARFORMAT i strukturę CHARFORMAT2 w zestawie Windows SDK.
Przykład
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView::GetClipboardData
Struktura wywołuje tę funkcję w ramach przetwarzania elementu IRichEditOleCallback::GetClipboardData.
virtual HRESULT GetClipboardData(
CHARRANGE* lpchrg,
DWORD dwReco,
LPDATAOBJECT lpRichDataObj,
LPDATAOBJECT* lplpdataobj);
Parametry
lpchrg
Wskaźnik do struktury CHARRANGE określający zakres znaków (i elementów OLE), aby skopiować do obiektu danych określonego przez lplpdataobj.
dwReco
Flaga operacji schowka. Może być jedną z tych wartości.
RECO_COPY Skopiuj do Schowka.
RECO_CUT wycinanie do Schowka.
RECO_DRAG operacja przeciągania (przeciąganie i upuszczanie).
RECO_DROP Operacja upuszczania (przeciągnij i upuść).
RECO_PASTE Wklej ze Schowka.
lpRichDataObj
Wskaźnik do obiektu IDataObject zawierającego dane Schowka z kontrolki edycji wzbogaconej ( IRichEditOle::GetClipboardData).
lplpdataobj
Wskaźnik do zmiennej wskaźnika, która odbiera adres obiektu reprezentującego IDataObject
zakres określony w parametrze lpchrg . Wartość lplpdataobj jest ignorowana, jeśli zwracany jest błąd.
Wartość zwracana
Wartość HRESULT zgłasza powodzenie operacji. Aby uzyskać więcej informacji na temat HRESULT, zobacz Struktura kodów błędów COM w zestawie Windows SDK.
Uwagi
Jeśli wartość zwracana wskazuje powodzenie, IRichEditOleCallback::GetClipboardData
zwraca IDataObject
dostęp do obiektu lplpdataobj. W przeciwnym razie zwraca wartość, do której uzyskuje się dostęp lpRichDataObj. Zastąpij tę funkcję, aby podać własne dane schowka. Domyślna implementacja tej funkcji zwraca E_NOTIMPL.
Jest to zaawansowane przesłonięcia.
Aby uzyskać więcej informacji, zobacz IRichEditOle::GetClipboardData, IRichEditOleCallback::GetClipboardData i CHARRANGE w zestawie SDK systemu Windows i zobacz IDataObject w zestawie WINDOWS SDK.
CRichEditView::GetContextMenu
Struktura wywołuje tę funkcję w ramach przetwarzania elementu IRichEditOleCallback::GetContextMenu.
virtual HMENU GetContextMenu(
WORD seltyp,
LPOLEOBJECT lpoleobj,
CHARRANGE* lpchrg);
Parametry
seltyp
Typ zaznaczenia. Wartości typu wyboru są opisane w sekcji Uwagi.
lpoleobj
Wskaźnik do OLEOBJECT
struktury określającej pierwszy wybrany obiekt OLE, jeśli zaznaczenie zawiera co najmniej jeden element OLE. Jeśli zaznaczenie nie zawiera żadnych elementów, lpoleobj ma wartość NULL. Struktura OLEOBJECT
zawiera wskaźnik do tabeli v-obiektu OLE.
lpchrg
Wskaźnik do struktury CHARRANGE zawierającej bieżący wybór.
Wartość zwracana
Dojście do menu kontekstowego.
Uwagi
Ta funkcja jest typową częścią przetwarzania prawego przycisku myszy w dół.
Typ zaznaczenia może być dowolną kombinacją następujących flag:
SEL_EMPTY Wskazuje, że nie ma bieżącego zaznaczenia.
SEL_TEXT Wskazuje, że bieżące zaznaczenie zawiera tekst.
SEL_OBJECT Wskazuje, że bieżące zaznaczenie zawiera co najmniej jeden element OLE.
SEL_MULTICHAR Wskazuje, że bieżące zaznaczenie zawiera więcej niż jeden znak tekstu.
SEL_MULTIOBJECT Wskazuje, że bieżące zaznaczenie zawiera więcej niż jeden obiekt OLE.
Domyślna implementacja zwraca wartość NULL. Jest to zaawansowane przesłonięcia.
Aby uzyskać więcej informacji, zobacz IRichEditOleCallback::GetContextMenu i CHARRANGE w zestawie WINDOWS SDK.
CRichEditView::GetDocument
Wywołaj tę funkcję, aby uzyskać wskaźnik do skojarzonego CRichEditDoc
z tym widokiem.
CRichEditDoc* GetDocument() const;
Wartość zwracana
Wskaźnik do obiektu CRichEditDoc skojarzonego z obiektem CRichEditView
.
CRichEditView::GetInPlaceActiveItem
Wywołaj tę funkcję, aby pobrać element OLE, który jest obecnie aktywowany w tym CRichEditView
obiekcie.
CRichEditCntrItem* GetInPlaceActiveItem() const;
Wartość zwracana
Wskaźnik do pojedynczego aktywnego obiektu CRichEditCntrItem w tym bogatym widoku edycji; Wartość NULL, jeśli nie ma obecnie elementu OLE w stanie aktywnym w miejscu.
CRichEditView::GetMargins
Wywołaj tę funkcję, aby pobrać bieżące marginesy używane podczas drukowania.
CRect GetMargins() const;
Wartość zwracana
Marginesy używane do drukowania mierzone w MM_TWIPS.
CRichEditView::GetPageRect
Wywołaj tę funkcję, aby uzyskać wymiary strony używanej podczas drukowania.
CRect GetPageRect() const;
Wartość zwracana
Granice strony używanej do drukowania mierzone w MM_TWIPS.
Uwagi
Ta wartość jest oparta na rozmiarze papieru.
CRichEditView::GetPaperSize
Wywołaj tę funkcję, aby pobrać bieżący rozmiar papieru.
CSize GetPaperSize() const;
Wartość zwracana
Rozmiar papieru używanego do drukowania mierzony w MM_TWIPS.
Przykład
void CMyRichEditView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
UNREFERENCED_PARAMETER(pInfo);
// Get the current paper size and construct an actual printing
// rectangle by leaving out one half inch margin from each side.
CSize sizePaper = GetPaperSize();
CRect rectMargins(720, 720, sizePaper.cx - 720,
sizePaper.cy - 720);
// Need to set the margins when printing from CRichEditView
SetMargins(rectMargins);
// Set up three rectangular regions spaced an inch apart
CRect rectHeader(0, 0, rectMargins.right, 1440);
CRect rectBody(0, 1440, rectMargins.right, 1440 * 2);
CRect rectFooter(0, 1440 * 2, rectMargins.right, 1440 * 3);
// Format the first 10 characters in the buffer.
int nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectHeader, 0, 10, TRUE); // characters 0-10
pDC->RestoreDC(nSavedDC);
// Format the second 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectBody, 10, 20, TRUE); // characters 10-20
pDC->RestoreDC(nSavedDC);
// Format the third 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectFooter, 20, 30, TRUE); // characters 20-30
pDC->RestoreDC(nSavedDC);
// CRichEditView::OnPrint(pDC, pInfo);
}
CRichEditView::GetParaFormatSelection
Wywołaj tę funkcję, aby uzyskać atrybuty formatowania akapitu bieżącego zaznaczenia.
PARAFORMAT2& GetParaFormatSelection();
Wartość zwracana
Struktura PARAFORMAT2 zawierająca atrybuty formatowania akapitu bieżącego zaznaczenia.
Uwagi
Aby uzyskać więcej informacji, zobacz EM_GETPARAFORMAT komunikatów i struktury PARAFORMAT2 w zestawie Windows SDK.
CRichEditView::GetPrintRect
Wywołaj tę funkcję, aby pobrać granice obszaru drukowania w prostokątze strony.
CRect GetPrintRect() const;
Wartość zwracana
Granice obszaru obrazu używanego do drukowania mierzone w MM_TWIPS.
Przykład
void CMyRichEditView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
CRect rectPrintPage = GetPrintRect(); // Measured in MM_TWIPS
pInfo->SetMaxPage((m_nDocSizeInInches * 1440) / rectPrintPage.Height());
CRichEditView::OnBeginPrinting(pDC, pInfo);
}
CRichEditView::GetPrintWidth
Wywołaj tę funkcję, aby określić szerokość obszaru drukowania.
int GetPrintWidth() const;
Wartość zwracana
Szerokość obszaru drukowania mierzona w MM_TWIPS.
CRichEditView::GetRichEditCtrl
Wywołaj tę funkcję, aby pobrać obiekt CRichEditCtrl skojarzony z obiektem CRichEditView
.
CRichEditCtrl& GetRichEditCtrl() const;
Wartość zwracana
CRichEditCtrl
Obiekt dla tego widoku.
Przykład
Zobacz przykład CRichEditView ::FindText.
CRichEditView::GetSelectedItem
Wywołaj tę funkcję, aby pobrać element OLE ( CRichEditCntrItem
obiekt) aktualnie wybrany w tym CRichEditView
obiekcie.
CRichEditCntrItem* GetSelectedItem() const;
Wartość zwracana
Wskaźnik do obiektu CRichEditCntrItem wybranego CRichEditView
w obiekcie; Wartość NULL, jeśli w tym widoku nie wybrano żadnego elementu.
CRichEditView::GetTextLength
Wywołaj tę funkcję, aby pobrać długość tekstu w tym CRichEditView
obiekcie.
long GetTextLength() const;
Wartość zwracana
Długość tekstu w tym CRichEditView
obiekcie.
CRichEditView::GetTextLengthEx
Wywołaj tę funkcję składową, aby obliczyć długość tekstu w tym CRichEditView
obiekcie.
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
Parametry
dwFlags
Wartość określająca metodę, która ma być używana podczas określania długości tekstu. Ten element członkowski może być co najmniej jedną wartością wymienioną w elemencie członkowskim flag GETTEXTLENGTHEX opisanym w zestawie SDK systemu Windows.
uCodePage
Strona kodowa tłumaczenia (CP_ACP dla strony kodowej ANSI, 1200 dla Unicode).
Wartość zwracana
Liczba znaków lub bajtów w kontrolce edycji. Jeśli niezgodne flagi zostały ustawione w dwFlags, ta funkcja składowa zwraca E_INVALIDARG.
Uwagi
GetTextLengthEx
Udostępnia dodatkowe sposoby określania długości tekstu. Obsługuje ona funkcję edycji wzbogaconej 2.0. Aby uzyskać więcej informacji, zobacz About Rich Edit Controls in the Windows SDK (Informacje o kontrolkach edycji wzbogaconej w zestawie Windows SDK).
CRichEditView::InsertFileAsObject
Wywołaj tę funkcję, aby wstawić określony plik (jako obiekt CRichEditCntrItem ) do widoku edycji wzbogaconej.
void InsertFileAsObject(LPCTSTR lpszFileName);
Parametry
lpszFileName
Ciąg zawierający nazwę pliku do wstawienia.
CRichEditView::InsertItem
Wywołaj tę funkcję, aby wstawić obiekt CRichEditCntrItem do widoku edycji wzbogaconej.
HRESULT InsertItem(CRichEditCntrItem* pItem);
Parametry
pItem
Wskaźnik do elementu do wstawienia.
Wartość zwracana
Wartość HRESULT wskazująca powodzenie wstawiania.
Uwagi
Aby uzyskać więcej informacji na temat HRESULT, zobacz Struktura kodów błędów COM w zestawie Windows SDK.
CRichEditView::IsRichEditFormat
Wywołaj tę funkcję, aby określić, czy cf jest formatem Schowka, który jest tekstem, tekstem sformatowanym lub tekstem sformatowanym z elementami OLE.
static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);
Parametry
por
Format schowka, który cię interesuje.
Wartość zwracana
Nonzero, jeśli cf jest formatem edycji sformatowanej lub schowka tekstowego.
CRichEditView::IsSelected
Wywołaj tę funkcję, aby określić, czy określony element OLE jest obecnie wybrany w tym widoku.
virtual BOOL IsSelected(const CObject* pDocItem) const;
Parametry
pDocItem
Wskaźnik do obiektu w widoku.
Wartość zwracana
Niezerowe, jeśli obiekt jest zaznaczony; w przeciwnym razie 0.
Uwagi
Zastąp tę funkcję, jeśli klasa widoku pochodnego ma inną metodę obsługi wyboru elementów OLE.
CRichEditView::m_nBulletIndent
Wcięcie dla elementów punktorów na liście; domyślnie 720 jednostek, czyli 1/2 cala.
int m_nBulletIndent;
CRichEditView::m_nWordWrap
Wskazuje typ zawijania wyrazów dla tego widoku edycji sformatowanej.
int m_nWordWrap;
Uwagi
Jedna z następujących wartości:
WrapNone
Nie wskazuje automatycznego zawijania wyrazów.WrapToWindow
Wskazuje zawijanie wyrazów na podstawie szerokości okna.WrapToTargetDevice
Wskazuje zawijanie wyrazów na podstawie cech urządzenia docelowego.
Przykład
Zobacz przykład CRichEditView ::WrapChanged.
CRichEditView::OnChareffect
Wywołaj tę funkcję, aby przełączyć efekty formatowania znaków dla bieżącego zaznaczenia.
void OnCharEffect(
DWORD dwMask,
DWORD dwEffect);
Parametry
dwMask
Efekty formatowania znaków, które mają być modyfikowane w bieżącym zaznaczeniu.
dwEffect
Żądana lista efektów formatowania znaków do przełączania.
Uwagi
Każde wywołanie tej funkcji przełącza określone efekty formatowania dla bieżącego zaznaczenia.
Aby uzyskać więcej informacji na temat parametrów dwMask i dwEffect oraz ich potencjalnych wartości, zobacz odpowiednie elementy członkowskie danych CHARFORMAT w zestawie Windows SDK.
Przykład
void CMyRichEditView::OnItalic()
{
OnCharEffect(CFM_ITALIC, CFE_ITALIC);
}
CRichEditView::OnFindNext
Wywoływana przez platformę podczas przetwarzania poleceń z okna dialogowego Znajdź/Zamień.
virtual void OnFindNext(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord);
Parametry
lpszFind
Ciąg do znalezienia.
bNext
Kierunek wyszukiwania: PRAWDA wskazuje w dół; FAŁSZ, w górę.
bCase
Wskazuje, czy w wyszukiwaniu uwzględniana jest wielkość liter.
bWord
Wskazuje, czy wyszukiwanie ma być zgodne tylko z całymi wyrazami, czy nie.
Uwagi
Wywołaj tę funkcję, aby znaleźć tekst w obiekcie CRichEditView
. Zastąp tę funkcję, aby zmienić właściwości wyszukiwania dla klasy widoku pochodnego.
CRichEditView::OninitialUpdate
Wywoływana przez platformę po pierwszym dołączeniu widoku do dokumentu, ale przed początkowym wyświetleniem widoku.
virtual void OnInitialUpdate();
Uwagi
Domyślna implementacja tej funkcji wywołuje funkcję składową CView::OnUpdate bez informacji wskazówek (czyli przy użyciu wartości domyślnych 0 dla parametru lHint i null dla parametru pHint). Zastąpi tę funkcję, aby wykonać jednokrotną inicjację, która wymaga informacji o dokumencie. Jeśli na przykład aplikacja ma dokumenty o stałym rozmiarze, możesz użyć tej funkcji, aby zainicjować limity przewijania widoku na podstawie rozmiaru dokumentu. Jeśli aplikacja obsługuje dokumenty o zmiennym rozmiarze, użyj polecenia OnUpdate
, aby zaktualizować limity przewijania za każdym razem, gdy dokument ulegnie zmianie.
Przykład
Zobacz przykład CRichEditView ::m_nWordWrap.
CRichEditView::OnPasteNativeObject
Ta funkcja służy do ładowania danych natywnych z elementu osadzonego.
virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);
Parametry
lpStg
Wskaźnik do obiektu IStorage .
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0;
Uwagi
Zazwyczaj można to zrobić, tworząc plik COleStreamFile wokół obiektu IStorage
. Element COleStreamFile
można dołączyć do archiwum i wywołać obiekt CObject::Serialize w celu załadowania danych.
Jest to zaawansowane przesłonięcia.
Aby uzyskać więcej informacji, zobacz IStorage w zestawie Windows SDK.
CRichEditView::OnParaAlign
Wywołaj tę funkcję, aby zmienić wyrównanie akapitu dla wybranych akapitów.
void OnParaAlign(WORD wAlign);
Parametry
wAlign
Żądane wyrównanie akapitu. Jedna z następujących wartości:
PFA_LEFT Wyrównaj akapity do lewego marginesu.
PFA_RIGHT Wyrównaj akapity do prawego marginesu.
PFA_CENTER wyśrodkuj akapity między marginesami.
Przykład
void CMyRichEditView::OnParaCenter()
{
OnParaAlign(PFA_CENTER);
}
CRichEditView::OnPrinterChanged
Zastąpi tę funkcję, aby zmienić charakterystykę tego widoku edycji wzbogaconej po zmianie drukarki.
virtual void OnPrinterChanged(const CDC& dcPrinter);
Parametry
dcPrinter
Obiekt CDC dla nowej drukarki.
Uwagi
Domyślna implementacja ustawia rozmiar papieru na wysokość fizyczną i szerokość urządzenia wyjściowego (drukarki). Jeśli nie ma kontekstu urządzenia skojarzonego z dcPrinter, domyślna implementacja ustawia rozmiar papieru na 8,5 o 11 cali.
CRichEditView::OnReplaceAll
Wywoływana przez platformę podczas przetwarzania zamień wszystkie polecenia z okna dialogowego Zamień.
virtual void OnReplaceAll(
LPCTSTR lpszFind,
LPCTSTR lpszReplace,
BOOL bCase,
BOOL bWord);
Parametry
lpszFind
Tekst do zastąpienia.
lpszReplace
Tekst zastępczy.
bCase
Wskazuje, czy w wyszukiwaniu jest uwzględniana wielkość liter.
bWord
Wskazuje, czy wyszukiwanie musi zaznaczyć całe wyrazy, czy nie.
Uwagi
Wywołaj tę funkcję, aby zastąpić wszystkie wystąpienia danego tekstu innym ciągiem. Zastąpi tę funkcję, aby zmienić cechy wyszukiwania dla tego widoku.
Przykład
Zobacz przykład CRichEditView ::FindText.
CRichEditView::OnReplaceSel
Wywoływana przez platformę podczas przetwarzania poleceń Replace z okna dialogowego Zamienianie.
virtual void OnReplaceSel(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord,
LPCTSTR lpszReplace);
Parametry
lpszFind
Tekst do zastąpienia.
bNext
Wskazuje kierunek wyszukiwania: prawda jest wyłączona; FAŁSZ, w górę.
bCase
Wskazuje, czy w wyszukiwaniu jest uwzględniana wielkość liter.
bWord
Wskazuje, czy wyszukiwanie musi zaznaczyć całe wyrazy, czy nie.
lpszReplace
Tekst zastępczy.
Uwagi
Wywołaj tę funkcję, aby zastąpić jedno wystąpienie danego tekstu innym ciągiem. Zastąpi tę funkcję, aby zmienić cechy wyszukiwania dla tego widoku.
CRichEditView::OnTextNotFound
Wywoływana przez strukturę za każdym razem, gdy wyszukiwanie zakończy się niepowodzeniem.
virtual void OnTextNotFound(LPCTSTR lpszFind);
Parametry
lpszFind
Nie odnaleziono tekstu.
Uwagi
Zastąp tę funkcję, aby zmienić powiadomienie wyjściowe z komunikatu MessageBeep.
Aby uzyskać więcej informacji, zobacz MessageBeep w zestawie Windows SDK.
Przykład
void CMyRichEditView::OnTextNotFound(LPCTSTR lpszFind)
{
// Replace the beep with a message box
CString str;
str.Format(_T("'%s' was not found."), lpszFind);
AfxMessageBox(str);
}
CRichEditView::OnUpdateChareffect
Struktura wywołuje tę funkcję, aby zaktualizować interfejs użytkownika polecenia dla poleceń efektu znaku.
void OnUpdateCharEffect(
CCmdUI* pCmdUI,
DWORD dwMask,
DWORD dwEffect);
Parametry
pCmdUI
Wskaźnik do obiektu CCmdUI .
dwMask
Wskazuje maskę formatowania znaków.
dwEffect
Wskazuje efekt formatowania znaków.
Uwagi
Maska dwMask określa atrybuty formatowania znaków do sprawdzenia. Flagi dwEffect wyświetlają atrybuty formatowania znaków w celu ustawienia/wyczyszczenia.
Aby uzyskać więcej informacji na temat parametrów dwMask i dwEffect oraz ich potencjalnych wartości, zobacz odpowiednie elementy członkowskie danych CHARFORMAT w zestawie Windows SDK.
Przykład
void CMyRichEditView::OnUpdateCharItalicUI(CCmdUI* pCmdUI)
{
OnUpdateCharEffect(pCmdUI, CFM_ITALIC, CFE_ITALIC);
}
CRichEditView::OnUpdateParaAlign
Struktura wywołuje tę funkcję, aby zaktualizować interfejs użytkownika polecenia dla poleceń efektu akapitu.
void OnUpdateParaAlign(
CCmdUI* pCmdUI,
WORD wAlign);
Parametry
pCmdUI
Wskaźnik do obiektu CCmdUI .
wAlign
Wyrównanie akapitu do sprawdzenia. Jedna z następujących wartości:
PFA_LEFT Wyrównaj akapity do lewego marginesu.
PFA_RIGHT Wyrównaj akapity do prawego marginesu.
PFA_CENTER wyśrodkuj akapity między marginesami.
Przykład
void CMyRichEditView::OnUpdateParaCenterUI(CCmdUI* pCmdUI)
{
OnUpdateParaAlign(pCmdUI, PFA_CENTER);
}
CRichEditView::P rintInsideRect
Wywołaj tę funkcję, aby sformatować zakres tekstu w kontrolce edycji sformatowanej, aby zmieścić się w obiekcie rectLayout dla urządzenia określonego przez centrum dystrybucji kluczy publicznych.
long PrintInsideRect(
CDC* pDC,
RECT& rectLayout,
long nIndexStart,
long nIndexStop,
BOOL bOutput);
Parametry
PDC
Wskaźnik do kontekstu urządzenia dla obszaru wyjściowego.
rectLayout
RECT lub CRect , który definiuje obszar danych wyjściowych.
nIndexStart
Indeks oparty na zera pierwszego znaku do sformatowania.
nIndexStop
Indeks zera ostatniego znaku do sformatowania.
bOutput
Wskazuje, czy tekst ma być renderowany. Jeśli wartość FALSE, tekst jest po prostu mierzony.
Wartość zwracana
Indeks ostatniego znaku pasujący do obszaru danych wyjściowych i jeden.
Uwagi
Zazwyczaj po tym wywołaniu następuje wywołanie elementu CRichEditCtrl::D isplayBand , które generuje dane wyjściowe.
Przykład
Zobacz przykład CRichEditView ::GetPaperSize.
CRichEditView::P rintPage
Wywołaj tę funkcję, aby sformatować zakres tekstu w kontrolce edycji sformatowanej dla urządzenia wyjściowego określonego przez centrum dystrybucji kluczy publicznych.
long PrintPage(
CDC* pDC,
long nIndexStart,
long nIndexStop);
Parametry
PDC
Wskaźnik do kontekstu urządzenia dla danych wyjściowych strony.
nIndexStart
Indeks oparty na zera pierwszego znaku do sformatowania.
nIndexStop
Indeks zera ostatniego znaku do sformatowania.
Wartość zwracana
Indeks ostatniego znaku pasujący do strony i jeden.
Uwagi
Układ każdej strony jest kontrolowany przez polecenie GetPageRect i GetPrintRect. Zazwyczaj po tym wywołaniu następuje wywołanie elementu CRichEditCtrl::D isplayBand , które generuje dane wyjściowe.
Należy pamiętać, że marginesy są względne względem strony fizycznej, a nie strony logicznej. W związku z tym marginesy zerowe często przycinają tekst, ponieważ wiele drukarek ma niedrukowalne obszary na stronie. Aby uniknąć przycinania tekstu, przed drukowaniem należy wywołać metodę SetMargins i ustawić rozsądne marginesy.
CRichEditView::QueryAcceptData
Wywoływana przez strukturę w celu wklejania obiektu do edycji wzbogaconej.
virtual HRESULT QueryAcceptData(
LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat,
DWORD dwReco,
BOOL bReally,
HGLOBAL hMetaFile);
Parametry
lpdataobj
Wskaźnik do obiektu IDataObject do zapytania.
lpcfFormat
Wskaźnik do akceptowalnego formatu danych.
dwReco
Nie używany.
bReally
Wskazuje, czy operacja wklejania powinna być kontynuowana, czy nie.
hMetaFile
Uchwyt do metapliku używanego do rysowania ikony elementu.
Wartość zwracana
Wartość HRESULT zgłasza powodzenie operacji.
Uwagi
Zastąp tę funkcję do obsługi różnych organizacji elementów COM w klasie pochodnego dokumentu. Jest to zaawansowane przesłonięcia.
Aby uzyskać więcej informacji na temat hrESULT i IDataObject
, zobacz Struktura kodów błędów COM i IDataObject, odpowiednio, w zestawie WINDOWS SDK.
Przykład
// This code fragment is taken from the Wordpad sample.
HRESULT CMyRichEditView::QueryAcceptData(LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat, DWORD dwReco, BOOL bReally, HGLOBAL hMetaFile)
{
if (bReally && *lpcfFormat == 0 && (m_nPasteType == 0))
{
COleDataObject dataobj;
dataobj.Attach(lpdataobj, FALSE);
if (!dataobj.IsDataAvailable(cfRTO)) // native avail, let
// richedit do as it wants
{
if (dataobj.IsDataAvailable(cfEmbeddedObject))
{
if (PasteNative(lpdataobj)) // See WordPad sample for info
// on PasteNative
return S_FALSE;
}
}
}
return CRichEditView::QueryAcceptData(lpdataobj, lpcfFormat, dwReco,
bReally, hMetaFile);
}
CRichEditView::SetCharFormat
Wywołaj tę funkcję, aby ustawić atrybuty formatowania znaków dla nowego tekstu w tym CRichEditView
obiekcie.
void SetCharFormat(CHARFORMAT2 cf);
Parametry
por
CHARFORMAT2 struktura zawierająca nowe domyślne atrybuty formatowania znaków.
Uwagi
Tylko atrybuty określone przez dwMask
element członkowski cf są zmieniane przez tę funkcję.
Aby uzyskać więcej informacji, zobacz EM_SETCHARFORMAT komunikatów i struktury CHARFORMAT2 w zestawie Windows SDK.
Przykład
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView::SetMargins
Wywołaj tę funkcję, aby ustawić marginesy drukowania dla tego widoku edycji wzbogaconej.
void SetMargins(const CRect& rectMargin);
Parametry
rectMargin
Nowe wartości marginesu drukowania mierzone w MM_TWIPS.
Uwagi
Jeśli m_nWordWrap to WrapToTargetDevice
, należy wywołać metodę WrapChanged po użyciu tej funkcji, aby dostosować właściwości drukowania.
Należy pamiętać, że marginesy używane przez program PrintPage są względne względem strony fizycznej, a nie strony logicznej. W związku z tym marginesy zerowe często przycinają tekst, ponieważ wiele drukarek ma niedrukowalne obszary na stronie. Aby uniknąć przycinania tekstu, należy wywołać metodę , SetMargins
aby ustawić rozsądne marginesy drukarki przed drukowaniem.
Przykład
Zobacz przykład CRichEditView ::GetPaperSize.
CRichEditView::SetPaperSize
Wywołaj tę funkcję, aby ustawić rozmiar papieru na potrzeby drukowania tego widoku edycji sformatowanej.
void SetPaperSize(CSize sizePaper);
Parametry
sizePaper
Nowe wartości rozmiaru papieru do drukowania mierzone w MM_TWIPS.
Uwagi
Jeśli m_nWordWrap to WrapToTargetDevice
, należy wywołać metodę WrapChanged po użyciu tej funkcji, aby dostosować właściwości drukowania.
Przykład
BOOL CMyRichEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
// Set the printing margins (720 twips = 1/2 inch).
SetMargins(CRect(720, 720, 720, 720));
// Change the paper orientation to landscape mode
// See the example for CWinApp::GetPrinterDeviceDefaults
((CMyWinApp*)AfxGetApp())->SetLandscapeMode();
// Change the paper size in the CRichEditView to
// reflect landscape mode
CSize csPaper = GetPaperSize();
int temp;
temp = csPaper.cx; csPaper.cx = csPaper.cy; csPaper.cy = temp;
SetPaperSize(csPaper);
return DoPreparePrinting(pInfo);
}
CRichEditView::SetParaFormat
Wywołaj tę funkcję, aby ustawić atrybuty formatowania akapitu dla bieżącego zaznaczenia w tym CRichEditView
obiekcie.
BOOL SetParaFormat(PARAFORMAT2& pf);
Parametry
Pf
PARAFORMAT2 struktura zawierająca nowe domyślne atrybuty formatowania akapitu.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
Uwagi
Ta funkcja zmienia tylko atrybuty określone przez dwMask
element członkowski pf .
Aby uzyskać więcej informacji, zobacz EM_SETPARAFORMAT komunikatów i struktury PARAFORMAT2 w zestawie Windows SDK.
Przykład
void CMyRichEditView::AddBullets()
{
PARAFORMAT2 pf;
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_NUMBERING | PFM_OFFSET;
pf.wNumbering = PFN_BULLET;
pf.dxOffset = 10;
VERIFY(SetParaFormat(pf));
}
CRichEditView::TextNotFound
Wywołaj tę funkcję, aby zresetować wewnętrzny stan wyszukiwania kontrolki CRichEditView po nieudanym wywołaniu metody FindText.
void TextNotFound(LPCTSTR lpszFind);
Parametry
lpszFind
Zawiera ciąg tekstowy, który nie został znaleziony.
Uwagi
Zaleca się, aby ta metoda była wywoływana natychmiast po nieudanych wywołaniach metody FindText , aby wewnętrzny stan wyszukiwania kontrolki był prawidłowo resetowany.
Parametr lpszFind powinien zawierać tę samą zawartość co ciąg podany w funkcji FindText. Po zresetowaniu stanu wyszukiwania wewnętrznego ta metoda wywoła metodę OnTextNotFound z podanym ciągiem wyszukiwania.
Przykład
Zobacz przykład CRichEditView ::FindText.
CRichEditView::WrapChanged
Wywołaj tę funkcję, gdy właściwości drukowania uległy zmianie ( SetMargins lub SetPaperSize).
virtual void WrapChanged();
Uwagi
Zastąp tę funkcję, aby zmodyfikować sposób, w jaki widok edycji wzbogaconej reaguje na zmiany w m_nWordWrap lub właściwości drukowania ( OnPrinterChanged).
Przykład
void CMyRichEditView::OnInitialUpdate()
{
CRichEditView::OnInitialUpdate();
// Turn on the horizontal scroll bar
m_nWordWrap = WrapNone;
WrapChanged();
}
Zobacz też
Przykładowy program WORDPAD MFC
Klasa CCtrlView
Wykres hierarchii
Klasa CRichEditDoc
Klasa CRichEditCntrItem