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

Członkowie

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 Aktualizacje interfejsu użytkownika polecenia dla funkcji publicznych składowych znaków.
CRichEditView::OnUpdateParaAlign Aktualizacje interfejsu 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

Cobject

Ccmdtarget

Cwnd

Cview

Cctrlview

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