다음을 통해 공유


CRichEditView 클래스

CRichEditDocCRichEditCntrItem을 사용하면 MFC의 문서 보기 아키텍처 컨텍스트 내에서 다양한 편집 컨트롤의 기능을 제공합니다.

구문

class CRichEditView : public CCtrlView

멤버

공용 생성자

속성 설명
CRichEditView::CRichEditView CRichEditView 개체를 생성합니다.

공용 메서드

이름 설명
CRichEditView::AdjustDialogPosition 현재 선택 영역을 가리지 않도록 대화 상자를 이동합니다.
CRichEditView::CanPaste 클립보드에 서식 있는 편집 보기에 붙여넣을 수 있는 데이터가 포함되어 있는지 여부를 알려줍니다.
CRichEditView::D oPaste 이 서식 있는 편집 보기에 OLE 항목을 붙여넣습니다.
CRichEditView::FindText 지정된 텍스트를 찾아 대기 커서를 호출합니다.
CRichEditView::FindTextSimple 지정된 텍스트를 찾습니다.
CRichEditView::GetCharFormatSelection 현재 선택 영역의 문자 서식 특성을 검색합니다.
CRichEditView::GetDocument 관련 CRichEditDoc에 대한 포인터를 검색합니다.
CRichEditView::GetInPlaceActiveItem 서식 있는 편집 보기에서 현재 현재 활성 상태인 OLE 항목을 검색합니다.
CRichEditView::GetMargins 이 서식 있는 편집 보기의 여백을 검색합니다.
CRichEditView::GetPageRect 이 서식 있는 편집 보기에 대한 페이지 사각형을 검색합니다.
CRichEditView::GetPaperSize 이 서식 있는 편집 보기의 용지 크기를 검색합니다.
CRichEditView::GetParaFormatSelection 현재 선택 영역의 단락 서식 특성을 검색합니다.
CRichEditView::GetPrintRect 이 서식 있는 편집 보기의 인쇄 사각형을 검색합니다.
CRichEditView::GetPrintWidth 이 서식 있는 편집 보기의 인쇄 너비를 검색합니다.
CRichEditView::GetRichEditCtrl 서식 있는 편집 컨트롤을 검색합니다.
CRichEditView::GetSelectedItem 서식 있는 편집 보기에서 선택한 항목을 검색합니다.
CRichEditView::GetTextLength 서식 있는 편집 보기에서 텍스트의 길이를 검색합니다.
CRichEditView::GetTextLengthEx 서식 있는 편집 보기에서 문자 또는 바이트 수를 검색합니다. 길이를 결정하는 방법에 대한 확장된 플래그 목록입니다.
CRichEditView::InsertFileAsObject 파일을 OLE 항목으로 삽입합니다.
CRichEditView::InsertItem 새 항목을 OLE 항목으로 삽입합니다.
CRichEditView::IsRichEditFormat 클립보드에 서식 있는 편집 또는 텍스트 형식의 데이터가 포함되어 있는지 여부를 알려줍니다.
CRichEditView::OnCharEffect 현재 선택 영역의 문자 서식을 전환합니다.
CRichEditView::OnParaAlign 단락의 맞춤을 변경합니다.
CRichEditView::OnUpdateCharEffect 문자 공용 멤버 함수에 대한 명령 UI를 업데이트합니다.
CRichEditView::OnUpdateParaAlign 단락 공용 멤버 함수에 대한 명령 UI를 업데이트합니다.
CRichEditView::P rintInsideRect 지정된 사각형 내에서 지정된 텍스트의 서식을 지정합니다.
CRichEditView::P rintPage 지정된 페이지 내에서 지정된 텍스트의 서식을 지정합니다.
CRichEditView::SetCharFormat 현재 선택 영역의 문자 서식 특성을 설정합니다.
CRichEditView::SetMargins 이 서식 있는 편집 보기의 여백을 설정합니다.
CRichEditView::SetPaperSize 이 서식 있는 편집 보기의 용지 크기를 설정합니다.
CRichEditView::SetParaFormat 현재 선택 영역의 단락 서식 특성을 설정합니다.
CRichEditView::TextNotFound 컨트롤의 내부 검색 상태를 다시 설정합니다.

보호된 메서드

속성 설명
CRichEditView::GetClipboardData 이 서식 있는 편집 보기에서 범위에 대한 클립보드 개체를 검색합니다.
CRichEditView::GetContextMenu 마우스 오른쪽 단추 아래로 사용할 상황에 맞는 메뉴를 검색합니다.
CRichEditView::IsSelected 지정된 OLE 항목이 선택되었는지 여부를 나타냅니다.
CRichEditView::OnFindNext 부분 문자열의 다음 항목을 찾습니다.
CRichEditView::OnInitialUpdate 문서에 처음 첨부할 때 보기를 새로 고칩니다.
CRichEditView::OnPasteNativeObject OLE 항목에서 네이티브 데이터를 검색합니다.
CRichEditView::OnPrinterChanged 인쇄 특성을 지정된 디바이스로 설정합니다.
CRichEditView::OnReplaceAll 지정된 문자열의 모든 항목을 새 문자열로 대체합니다.
CRichEditView::OnReplaceSel 현재 선택 영역을 바꿉니다.
CRichEditView::OnTextNotFound 요청된 텍스트를 찾을 수 없다는 사용자 알림을 처리합니다.
CRichEditView::QueryAcceptData 에 있는 데이터에 IDataObject대해 확인할 쿼리입니다.
CRichEditView::WrapChanged 값에 따라 이 서식 있는 편집 보기에 대한 대상 출력 디바이스를 m_nWordWrap조정합니다.

공용 데이터 멤버

속성 설명
CRichEditView::m_nBulletIndent 글머리 기호 목록의 들여쓰기 양을 나타냅니다.
CRichEditView::m_nWordWrap 단어 줄 바꿈 제약 조건을 나타냅니다.

설명

"서식 있는 편집 컨트롤"은 사용자가 텍스트를 입력하고 편집할 수 있는 창입니다. 텍스트는 문자 및 단락 서식을 할당할 수 있으며 포함된 OLE 개체를 포함할 수 있습니다. 서식 있는 편집 컨트롤은 텍스트 서식을 지정하기 위한 프로그래밍 인터페이스를 제공합니다. 그러나 애플리케이션은 사용자가 서식 지정 작업을 사용할 수 있도록 하는 데 필요한 모든 사용자 인터페이스 구성 요소를 구현해야 합니다.

CRichEditView 는 텍스트의 텍스트 및 서식 특성을 유지합니다. CRichEditDoc 는 보기에 있는 OLE 클라이언트 항목 목록을 유지 관리합니다. CRichEditCntrItem 는 OLE 클라이언트 항목에 대한 컨테이너 쪽 액세스를 제공합니다.

이 Windows 공용 컨트롤(따라서 CRichEditCtrl 및 관련 클래스)은 Windows 95/98 및 Windows NT 버전 3.51 이상에서 실행되는 프로그램에서만 사용할 수 있습니다.

MFC 애플리케이션에서 다양한 편집 보기를 사용하는 예제는 WORDPAD 샘플 애플리케이션을 참조하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CView

CCtrlView

CRichEditView

요구 사항

헤더: afxrich.h

CRichEditView::AdjustDialogPosition

현재 선택 영역을 가리지 않도록 지정된 대화 상자를 이동하려면 이 함수를 호출합니다.

void AdjustDialogPosition(CDialog* pDlg);

매개 변수

pDlg
CDialog 개체에 대한 포인터입니다.

CRichEditView::CanPaste

클립보드에 이 서식 있는 편집 보기에 붙여넣을 수 있는 정보가 포함되어 있는지 확인하려면 이 함수를 호출합니다.

BOOL CanPaste() const;

Return Value

클립보드에 이 서식 있는 편집 보기에서 허용할 수 있는 형식의 데이터가 포함된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

CRichEditView::CRichEditView

개체를 만들려면 이 함수를 호출합니다 CRichEditView .

CRichEditView();

CRichEditView::D oPaste

이 함수를 호출하여 dataobj의 OLE 항목을 이 서식 있는 편집 문서/보기에 붙여넣습니다.

void DoPaste(
    COleDataObject& dataobj,
    CLIPFORMAT cf,
    HMETAFILEPICT hMetaPict);

매개 변수

dataobj
붙여넣을 데이터가 포함된 COleDataObject입니다.

cf
원하는 클립보드 형식입니다.

hMetaPict
붙여 넣을 항목을 나타내는 메타파일입니다.

설명

프레임워크는 이 함수를 QueryAcceptData의 기본 구현의 일부로 호출합니다.

이 함수는 Paste Special에 대한 처리기의 결과에 따라 붙여넣기 유형을 결정합니다. cf가 0이면 새 항목은 현재 아이콘 표현을 사용합니다. cf가 0이 아니고 hMetaPict이 NULL이 아니면 새 항목은 해당 표현에 hMetaPict를 사용합니다.

CRichEditView::FindText

이 함수를 호출하여 지정된 텍스트를 찾아 현재 선택 영역으로 설정합니다.

BOOL FindText(
    LPCTSTR lpszFind,
    BOOL bCase = TRUE,
    BOOL bWord = TRUE,
    BOOL bNext = TRUE);

매개 변수

lpszFind
검색할 문자열을 포함합니다.

bCase
검색이 대/소문자를 구분하는지를 나타냅니다.

bWord
검색이 단어의 일부가 아닌 전체 단어만 일치해야 하는지를 나타냅니다.

bNext
검색 방향을 나타냅니다. TRUE이면 검색 방향이 버퍼의 끝입니다. FALSE이면 검색 방향이 버퍼의 시작 부분으로 이동합니다.

Return Value

lpszFind 텍스트가 발견되면 0이 아니고, 그렇지 않으면 0입니다.

설명

이 함수는 찾기 작업 중에 대기 커서를 표시합니다.

예시

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

이 함수를 호출하여 지정된 텍스트를 찾아 현재 선택 영역으로 설정합니다.

BOOL FindTextSimple(
    LPCTSTR lpszFind,
    BOOL bCase = TRUE,
    BOOL bWord = TRUE,
    BOOL bNext = TRUE);

매개 변수

lpszFind
검색할 문자열을 포함합니다.

bCase
검색이 대/소문자를 구분하는지를 나타냅니다.

bWord
검색이 단어의 일부가 아닌 전체 단어만 일치해야 하는지를 나타냅니다.

bNext
검색 방향을 나타냅니다. TRUE이면 검색 방향이 버퍼의 끝입니다. FALSE이면 검색 방향이 버퍼의 시작 부분으로 이동합니다.

Return Value

lpszFind 텍스트가 발견되면 0이 아니고, 그렇지 않으면 0입니다.

예시

CRichEditView::FindText에 대한 예제를 참조하세요.

CRichEditView::GetCharFormatSelection

현재 선택 영역의 문자 서식 특성을 얻으려면 이 함수를 호출합니다.

CHARFORMAT2& GetCharFormatSelection();

Return Value

현재 선택 영역의 문자 서식 특성을 포함하는 CHARFORMAT2 구조체입니다.

설명

자세한 내용은 Windows SDK의 EM_GETCHARFORMAT 메시지 및 CHARFORMAT2 구조를 참조하세요.

예시

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

프레임워크는 IRichEditOleCallback::GetClipboardData 처리의 일부로 이 함수를 호출합니다.

virtual HRESULT GetClipboardData(
    CHARRANGE* lpchrg,
    DWORD dwReco,
    LPDATAOBJECT lpRichDataObj,
    LPDATAOBJECT* lplpdataobj);

매개 변수

lpchrg
lplpdataobj에서 지정한 데이터 개체에 복사할 문자(및 OLE 항목) 범위를 지정하는 CHARRANGE 구조체에 대한 포인터입니다.

dwReco
클립보드 작업 플래그입니다. 이러한 값 중 하나일 수 있습니다.

  • RECO_COPY 클립보드에 복사합니다.

  • RECO_CUT 클립보드로 잘라냅니다.

  • RECO_DRAG 끌기 작업(끌어서 놓기).

  • RECO_DROP 놓기 작업(끌어서 놓기).

  • RECO_PASTE 클립보드에서 붙여넣습니다.

lpRichDataObj
서식 있는 편집 컨트롤(IRichEditOle::GetClipboardData)의 클립보드 데이터를 포함하는 IDataObject 개체에 대한 포인터입니다.

lplpdataobj
lpchrg 매개 변수에 지정된 범위를 나타내는 개체의 IDataObject 주소를 받는 포인터 변수에 대한 포인터입니다. 오류가 반환되면 lplpdataobj이 무시됩니다.

Return Value

작업의 성공을 보고하는 HRESULT 값입니다. HRESULT에 대한 자세한 내용은 Windows SDK의 COM 오류 코드 구조를 참조하세요.

설명

반환 값이 성공을 IRichEditOleCallback::GetClipboardData 나타내면 lplpdataobj에서 액세스한 값을 반환 IDataObject 하고, 그렇지 않으면 lpRichDataObj에서 액세스한 값을 반환합니다. 고유한 클립보드 데이터를 제공하려면 이 함수를 재정의합니다. 이 함수의 기본 구현은 E_NOTIMPL 반환합니다.

이는 고급 재정의 가능입니다.

자세한 내용은 Windows SDK의 IRichEditOle::GetClipboardData, IRichEditOleCallback::GetClipboardDataCHARRANGE를 참조하고 Windows SDK에서 IDataObject를 참조하세요.

CRichEditView::GetContextMenu

프레임워크는 IRichEditOleCallback::GetContextMenu 처리의 일부로 이 함수를 호출합니다.

virtual HMENU GetContextMenu(
    WORD seltyp,
    LPOLEOBJECT lpoleobj,
    CHARRANGE* lpchrg);

매개 변수

seltyp
선택 유형입니다. 선택 유형 값은 주의 섹션에 설명되어 있습니다.

lpoleobj
OLEOBJECT 선택 영역에 하나 이상의 OLE 항목이 포함된 경우 첫 번째 선택한 OLE 개체를 지정하는 구조체에 대한 포인터입니다. 선택 영역에 항목 이 없으면 lpoleobj 는 NULL입니다. 구조체는 OLEOBJECT OLE 개체 v 테이블에 대한 포인터를 보유합니다.

lpchrg
현재 선택 영역을 포함하는 CHARRANGE 구조체에 대한 포인터입니다.

Return Value

상황에 맞는 메뉴에 대한 핸들입니다.

설명

이 함수는 오른쪽 마우스 단추 다운 처리의 일반적인 부분입니다.

선택 유형은 다음 플래그의 조합일 수 있습니다.

  • SEL_EMPTY 현재 선택 영역이 없음을 나타냅니다.

  • SEL_TEXT 현재 선택 영역에 텍스트가 포함되어 있음을 나타냅니다.

  • SEL_OBJECT 현재 선택 영역에 하나 이상의 OLE 항목이 포함되어 있음을 나타냅니다.

  • SEL_MULTICHAR 현재 선택 영역에 둘 이상의 텍스트 문자가 포함되어 있음을 나타냅니다.

  • SEL_MULTIOBJECT 현재 선택 영역에 둘 이상의 OLE 개체가 포함되어 있음을 나타냅니다.

기본 구현은 NULL을 반환합니다. 이는 고급 재정의 가능입니다.

자세한 내용은 Windows SDK에서 IRichEditOleCallback::GetContextMenuCHARRANGE 를 참조하세요.

CRichEditView::GetDocument

이 함수를 호출하여 이 뷰와 연결된 포인터를 CRichEditDoc 가져옵니다.

CRichEditDoc* GetDocument() const;

Return Value

개체와 연결된 CRichEditDoc 개체에 CRichEditView 대한 포인터입니다.

CRichEditView::GetInPlaceActiveItem

이 함수를 호출하여 이 CRichEditView 개체에서 현재 활성화된 OLE 항목을 가져옵니다.

CRichEditCntrItem* GetInPlaceActiveItem() const;

Return Value

이 서식 있는 편집 보기에서 현재 위치의 단일 활성 CRichEditCntrItem 개체에 대한 포인터입니다. 현재 현재 현재 현재 활성 상태에 OLE 항목이 없으면 NULL입니다.

CRichEditView::GetMargins

인쇄에 사용되는 현재 여백을 검색하려면 이 함수를 호출합니다.

CRect GetMargins() const;

Return Value

인쇄에 사용되는 여백으로, MM_TWIPS 측정됩니다.

CRichEditView::GetPageRect

이 함수를 호출하여 인쇄에 사용되는 페이지의 크기를 가져옵니다.

CRect GetPageRect() const;

Return Value

인쇄에 사용되는 페이지의 범위로, MM_TWIPS 측정됩니다.

설명

이 값은 용지 크기에 따라 달라집니다.

CRichEditView::GetPaperSize

현재 용지 크기를 검색하려면 이 함수를 호출합니다.

CSize GetPaperSize() const;

Return Value

인쇄에 사용되는 용지의 크기로, MM_TWIPS 측정합니다.

예시

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

현재 선택 영역의 단락 서식 특성을 얻으려면 이 함수를 호출합니다.

PARAFORMAT2& GetParaFormatSelection();

Return Value

현재 선택 영역의 단락 서식 특성을 포함하는 PARAFORMAT2 구조체입니다.

설명

자세한 내용은 Windows SDK의 EM_GETPARAFORMAT 메시지 및 PARAFORMAT2 구조를 참조하세요.

CRichEditView::GetPrintRect

페이지 사각형 내에서 인쇄 영역의 범위를 검색하려면 이 함수를 호출합니다.

CRect GetPrintRect() const;

Return Value

인쇄에 사용되는 이미지 영역의 범위로, MM_TWIPS 측정됩니다.

예시

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

인쇄 영역의 너비를 확인하려면 이 함수를 호출합니다.

int GetPrintWidth() const;

Return Value

인쇄 영역의 너비(MM_TWIPS 측정)입니다.

CRichEditView::GetRichEditCtrl

이 함수를 호출하여 개체와 연결된 CRichEditCtrl 개체를 CRichEditView 검색합니다.

CRichEditCtrl& GetRichEditCtrl() const;

Return Value

CRichEditCtrl 이 뷰의 개체입니다.

예시

CRichEditView::FindText에 대한 예제를 참조하세요.

CRichEditView::GetSelectedItem

이 함수를 호출하여 이 CRichEditView 개체에서 현재 선택된 OLE 항목(CRichEditCntrItem개체)을 검색합니다.

CRichEditCntrItem* GetSelectedItem() const;

Return Value

개체에서 선택된 CRichEditCntrItem 개체에 CRichEditView 대한 포인터입니다. 이 보기에서 항목이 선택되지 않은 경우 NULL입니다.

CRichEditView::GetTextLength

이 함수를 호출하여 이 CRichEditView 개체의 텍스트 길이를 검색합니다.

long GetTextLength() const;

Return Value

CRichEditView 개체의 텍스트 길이입니다.

CRichEditView::GetTextLengthEx

이 멤버 함수를 호출하여 이 CRichEditView 개체의 텍스트 길이를 계산합니다.

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

매개 변수

dwFlags
텍스트 길이를 결정하는 데 사용할 메서드를 지정하는 값입니다. 이 멤버는 Windows SDK에 설명된 GETTEXTLENGTHEX플래그 멤버에 나열된 값 중 하나 이상일 수 있습니다.

uCodePage
번역을 위한 코드 페이지(ANSI 코드 페이지의 경우 CP_ACP, 유니코드의 경우 1200).

Return Value

편집 컨트롤의 문자 또는 바이트 수입니다. 호환되지 않는 플래그가 dwFlags에 설정된 경우 이 멤버 함수는 E_INVALIDARG 반환합니다.

설명

GetTextLengthEx 에서는 텍스트의 길이를 결정하는 추가 방법을 제공합니다. Rich Edit 2.0 기능을 지원합니다. 자세한 내용은 Windows SDK의 리치 편집 컨트롤 정보를 참조하세요.

CRichEditView::InsertFileAsObject

이 함수를 호출하여 지정된 파일( CRichEditCntrItem 개체)을 서식 있는 편집 보기에 삽입합니다.

void InsertFileAsObject(LPCTSTR lpszFileName);

매개 변수

lpszFileName
삽입할 파일의 이름을 포함하는 문자열입니다.

CRichEditView::InsertItem

CRichEditCntrItem 개체를 서식 있는 편집 보기에 삽입하려면 이 함수를 호출합니다.

HRESULT InsertItem(CRichEditCntrItem* pItem);

매개 변수

pItem
삽입할 항목에 대한 포인터입니다.

Return Value

삽입의 성공을 나타내는 HRESULT 값입니다.

설명

HRESULT에 대한 자세한 내용은 Windows SDK의 COM 오류 코드 구조를 참조하세요.

CRichEditView::IsRichEditFormat

cf가 텍스트, 서식 있는 텍스트 또는 OLE 항목이 있는 서식 있는 텍스트인 클립보드 형식인지 확인하려면 이 함수를 호출합니다.

static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);

매개 변수

cf
관심 있는 클립보드 형식입니다.

Return Value

cf가 서식 있는 편집 또는 텍스트 클립보드 형식인 경우 0이 아닌 경우

CRichEditView::IsSelected

이 함수를 호출하여 지정된 OLE 항목이 현재 이 보기에서 선택되어 있는지 확인합니다.

virtual BOOL IsSelected(const CObject* pDocItem) const;

매개 변수

pDocItem
뷰의 개체에 대한 포인터입니다.

Return Value

개체가 선택된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

파생 뷰 클래스에 OLE 항목 선택을 처리하는 다른 메서드가 있는 경우 이 함수를 재정의합니다.

CRichEditView::m_nBulletIndent

목록의 글머리 기호 항목에 대한 들여쓰기입니다. 기본적으로 1/2인치인 720단원입니다.

int m_nBulletIndent;

CRichEditView::m_nWordWrap

이 서식 있는 편집 보기의 단어 줄 바꿈 유형을 나타냅니다.

int m_nWordWrap;

설명

다음의 값 중 하나입니다.

  • WrapNone 자동 단어 줄 바꿈을 나타냅니다.

  • WrapToWindow 창의 너비를 기준으로 단어 줄 바꿈을 나타냅니다.

  • WrapToTargetDevice 대상 디바이스의 특성에 따라 단어 줄 바꿈을 나타냅니다.

예시

CRichEditView::WrapChanged에 대한 예제를 참조하세요.

CRichEditView::OnCharEffect

현재 선택 영역에 대한 문자 서식 효과를 토글하려면 이 함수를 호출합니다.

void OnCharEffect(
    DWORD dwMask,
    DWORD dwEffect);

매개 변수

dwMask
현재 선택 영역에서 수정할 문자 서식 지정 효과입니다.

dwEffect
토글할 문자 서식 효과의 원하는 목록입니다.

설명

이 함수에 대한 각 호출은 현재 선택 영역에 대해 지정된 서식 지정 효과를 전환합니다.

dwMask 및 dwEffect 매개 변수 및 해당 잠재적 값에 대한 자세한 내용은 Windows SDK에서 CHARFORMAT해당 데이터 멤버를 참조하세요.

예시

void CMyRichEditView::OnItalic()
{
   OnCharEffect(CFM_ITALIC, CFE_ITALIC);
}

CRichEditView::OnFindNext

찾기/바꾸기 대화 상자에서 명령을 처리할 때 프레임워크에서 호출됩니다.

virtual void OnFindNext(
    LPCTSTR lpszFind,
    BOOL bNext,
    BOOL bCase,
    BOOL bWord);

매개 변수

lpszFind
찾을 문자열입니다.

bNext
검색 방향: TRUE는 아래쪽을 나타냅니다. FALSE, 위로.

bCase
검색이 대/소문자를 구분할지 여부를 나타냅니다.

bWord
검색이 전체 단어와만 일치하는지 여부를 나타냅니다.

설명

이 함수를 호출하여 CRichEditView. 파생 뷰 클래스의 검색 특성을 변경하려면 이 함수를 재정의합니다.

CRichEditView::OnInitialUpdate

뷰가 문서에 처음 첨부된 후 보기가 처음 표시되기 전에 프레임워크에서 호출됩니다.

virtual void OnInitialUpdate();

설명

이 함수의 기본 구현은 힌트 정보 없이 CView::OnUpdate 멤버 함수를 호출합니다(즉, lHint 매개 변수의 경우 기본값 0, pHint 매개 변수의 경우 NULL 사용). 문서에 대한 정보가 필요한 일회성 초기화를 수행하도록 이 함수를 재정의합니다. 예를 들어 애플리케이션에 고정 크기 문서가 있는 경우 이 함수를 사용하여 문서 크기에 따라 보기의 스크롤 제한을 초기화할 수 있습니다. 애플리케이션에서 가변 크기의 문서를 지원하는 경우 문서가 변경될 때마다 스크롤 제한을 업데이트하는 데 사용합니다 OnUpdate .

예시

CRichEditView::m_nWordWrap 예제를 참조하세요.

CRichEditView::OnPasteNativeObject

이 함수를 사용하여 포함된 항목에서 네이티브 데이터를 로드합니다.

virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);

매개 변수

lpStg
IStorage 개체에 대한 포인터입니다.

Return Value

성공하면 0이 아닌 값입니다. 그렇지 않으면 0;

설명

일반적으로 주위에 COleStreamFile만들어 이 작업을 수행합니다IStorage. COleStreamFile 보관에 연결할 수 있으며 데이터를 로드하기 위해 CObject::Serialize가 호출됩니다.

이는 고급 재정의 가능입니다.

자세한 내용은 Windows SDK의 IStorage 를 참조하세요.

CRichEditView::OnParaAlign

이 함수를 호출하여 선택한 단락의 단락 맞춤을 변경합니다.

void OnParaAlign(WORD wAlign);

매개 변수

wAlign
원하는 단락 맞춤입니다. 다음의 값 중 하나입니다.

  • PFA_LEFT 단락을 왼쪽 여백에 맞춥니다.

  • PFA_RIGHT 단락을 오른쪽 여백에 맞춥니다.

  • PFA_CENTER 여백 사이의 단락을 가운데에 배치합니다.

예시

void CMyRichEditView::OnParaCenter()
{
   OnParaAlign(PFA_CENTER);
}

CRichEditView::OnPrinterChanged

프린터가 변경되면 이 서식 있는 편집 보기의 특성을 변경하려면 이 함수를 재정의합니다.

virtual void OnPrinterChanged(const CDC& dcPrinter);

매개 변수

dcPrinter
새 프린터의 CDC 개체입니다.

설명

기본 구현은 출력 디바이스(프린터)의 실제 높이와 너비로 용지 크기를 설정합니다. dcPrinter연결된 디바이스 컨텍스트가 없는 경우 기본 구현은 용지 크기를 8.5 x 11인치로 설정합니다.

CRichEditView::OnReplaceAll

바꾸기 대화 상자에서 모두 바꾸기 명령을 처리할 때 프레임워크에서 호출됩니다.

virtual void OnReplaceAll(
    LPCTSTR lpszFind,
    LPCTSTR lpszReplace,
    BOOL bCase,
    BOOL bWord);

매개 변수

lpszFind
바꿀 텍스트입니다.

lpszReplace
대체 텍스트입니다.

bCase
검색이 대/소문자를 구분하는지를 나타냅니다.

bWord
검색에서 전체 단어를 선택해야 하는지 여부를 나타냅니다.

설명

지정된 일부 텍스트의 모든 항목을 다른 문자열로 바꾸려면 이 함수를 호출합니다. 이 보기의 검색 특성을 변경하려면 이 함수를 재정의합니다.

예시

CRichEditView::FindText에 대한 예제를 참조하세요.

CRichEditView::OnReplaceSel

바꾸기 대화 상자에서 바꾸기 명령을 처리할 때 프레임워크에서 호출됩니다.

virtual void OnReplaceSel(
    LPCTSTR lpszFind,
    BOOL bNext,
    BOOL bCase,
    BOOL bWord,
    LPCTSTR lpszReplace);

매개 변수

lpszFind
바꿀 텍스트입니다.

bNext
검색 방향을 나타냅니다. TRUE가 다운되었습니다. FALSE, 위로.

bCase
검색이 대/소문자를 구분하는지를 나타냅니다.

bWord
검색에서 전체 단어를 선택해야 하는지 여부를 나타냅니다.

lpszReplace
대체 텍스트입니다.

설명

지정된 텍스트의 한 항목을 다른 문자열로 바꾸려면 이 함수를 호출합니다. 이 보기의 검색 특성을 변경하려면 이 함수를 재정의합니다.

CRichEditView::OnTextNotFound

검색이 실패할 때마다 프레임워크에서 호출됩니다.

virtual void OnTextNotFound(LPCTSTR lpszFind);

매개 변수

lpszFind
찾을 수 없는 텍스트입니다.

설명

MessageBeep에서 출력 알림을 변경하려면 이 함수를 재정의합니다.

자세한 내용은 Windows SDK의 MessageBeep 을 참조하세요.

예시

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

프레임워크는 이 함수를 호출하여 문자 효과 명령에 대한 명령 UI를 업데이트합니다.

void OnUpdateCharEffect(
    CCmdUI* pCmdUI,
    DWORD dwMask,
    DWORD dwEffect);

매개 변수

pCmdUI
CCmdUI 개체에 대한 포인터입니다.

dwMask
문자 서식 마스크를 나타냅니다.

dwEffect
문자 서식 효과를 나타냅니다.

설명

마스크 dwMask 는 확인할 문자 서식 특성을 지정합니다. 플래그 dwEffect 는 설정/지우기할 문자 서식 특성을 나열합니다.

dwMask 및 dwEffect 매개 변수 및 해당 잠재적 값에 대한 자세한 내용은 Windows SDK에서 CHARFORMAT해당 데이터 멤버를 참조하세요.

예시

void CMyRichEditView::OnUpdateCharItalicUI(CCmdUI* pCmdUI)
{
   OnUpdateCharEffect(pCmdUI, CFM_ITALIC, CFE_ITALIC);
}

CRichEditView::OnUpdateParaAlign

프레임워크는 이 함수를 호출하여 단락 효과 명령에 대한 명령 UI를 업데이트합니다.

void OnUpdateParaAlign(
    CCmdUI* pCmdUI,
    WORD wAlign);

매개 변수

pCmdUI
CCmdUI 개체에 대한 포인터입니다.

wAlign
확인할 단락 맞춤입니다. 다음의 값 중 하나입니다.

  • PFA_LEFT 단락을 왼쪽 여백에 맞춥니다.

  • PFA_RIGHT 단락을 오른쪽 여백에 맞춥니다.

  • PFA_CENTER 여백 사이의 단락을 가운데에 배치합니다.

예시

void CMyRichEditView::OnUpdateParaCenterUI(CCmdUI* pCmdUI)
{
   OnUpdateParaAlign(pCmdUI, PFA_CENTER);
}

CRichEditView::P rintInsideRect

pDC에서 지정한 디바이스의 rectLayout 내에 맞게 서식 있는 편집 컨트롤의 텍스트 범위에 서식을 지정하려면 이 함수를 호출합니다.

long PrintInsideRect(
    CDC* pDC,
    RECT& rectLayout,
    long nIndexStart,
    long nIndexStop,
    BOOL bOutput);

매개 변수

pDC
출력 영역에 대한 디바이스 컨텍스트에 대한 포인터입니다.

rectLayout
출력 영역을 정의하는 RECT 또는 CRect 입니다.

nIndexStart
서식을 지정할 첫 번째 문자의 인덱스(0부터 시작)입니다.

nIndexStop
서식을 지정할 마지막 문자의 인덱스(0부터 시작)입니다.

bOutput
텍스트를 렌더링해야 하는지를 나타냅니다. FALSE이면 텍스트가 측정됩니다.

Return Value

출력 영역에 맞는 마지막 문자의 인덱스 및 1입니다.

설명

일반적으로 이 호출 뒤에 출력을 생성하는 CRichEditCtrl::D isplayBand를 호출합니다.

예시

CRichEditView::GetPaperSize에 대한 예제를 참조하세요.

CRichEditView::P rintPage

pDC에서 지정한 출력 디바이스에 대한 서식 있는 편집 컨트롤에서 텍스트 범위의 서식을 지정하려면 이 함수를 호출합니다.

long PrintPage(
    CDC* pDC,
    long nIndexStart,
    long nIndexStop);

매개 변수

pDC
페이지 출력을 위한 디바이스 컨텍스트에 대한 포인터입니다.

nIndexStart
서식을 지정할 첫 번째 문자의 인덱스(0부터 시작)입니다.

nIndexStop
서식을 지정할 마지막 문자의 인덱스(0부터 시작)입니다.

Return Value

페이지에 맞는 마지막 문자의 인덱스 및 1입니다.

설명

각 페이지의 레이아웃은 GetPageRectGetPrintRect에 의해 제어됩니다. 일반적으로 이 호출 뒤에 출력을 생성하는 CRichEditCtrl::D isplayBand를 호출합니다.

여백은 논리적 페이지가 아니라 실제 페이지를 기준으로 합니다. 따라서 많은 프린터가 페이지에 인쇄할 수 없는 영역을 가지고 있기 때문에 0의 여백은 종종 텍스트를 클리핑합니다. 텍스트를 클리핑하지 않도록 하려면 인쇄하기 전에 SetMargins를 호출하고 적절한 여백을 설정해야 합니다.

CRichEditView::QueryAcceptData

서식 있는 편집에 개체를 붙여넣기 위해 프레임워크에서 호출됩니다.

virtual HRESULT QueryAcceptData(
    LPDATAOBJECT lpdataobj,
    CLIPFORMAT* lpcfFormat,
    DWORD dwReco,
    BOOL bReally,
    HGLOBAL hMetaFile);

매개 변수

lpdataobj
쿼리할 IDataObject 에 대한 포인터입니다.

lpcfFormat
허용되는 데이터 형식에 대한 포인터입니다.

dwReco
사용되지 않습니다.

bReally
붙여넣기 작업을 계속할지 여부를 나타냅니다.

hMetaFile
항목의 아이콘을 그리는 데 사용되는 메타파일의 핸들입니다.

Return Value

작업의 성공을 보고하는 HRESULT 값입니다.

설명

파생 문서 클래스에서 COM 항목의 다양한 구성을 처리하도록 이 함수를 재정의합니다. 이는 고급 재정의 가능입니다.

HRESULT에 IDataObject대한 자세한 내용은 Windows SDK에서 각각 COM 오류 코드IDataObject 구조를 참조하세요.

예시

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

이 함수를 호출하여 이 CRichEditView 개체의 새 텍스트에 대한 문자 서식 특성을 설정합니다.

void SetCharFormat(CHARFORMAT2 cf);

매개 변수

cf
새 기본 문자 서식 특성을 포함하는 CHARFORMAT2 구조체입니다.

설명

cf멤버가 dwMask 지정한 특성만 이 함수에 의해 변경됩니다.

자세한 내용은 Windows SDK의 EM_SETCHARFORMAT 메시지 및 CHARFORMAT2 구조를 참조하세요.

예시

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

이 서식 있는 편집 보기의 인쇄 여백을 설정하려면 이 함수를 호출합니다.

void SetMargins(const CRect& rectMargin);

매개 변수

rectMargin
인쇄를 위한 새 여백 값으로, MM_TWIPS 측정합니다.

설명

m_nWordWrap WrapToTargetDevice경우 이 함수를 사용한 후 WrapChanged를 호출하여 인쇄 특성을 조정해야 합니다.

PrintPage에서 사용하는 여백은 논리적 페이지가 아닌 실제 페이지를 기준으로 합니다. 따라서 많은 프린터가 페이지에 인쇄할 수 없는 영역을 가지고 있기 때문에 0의 여백은 종종 텍스트를 클리핑합니다. 텍스트를 클리핑하지 않도록 하려면 인쇄하기 전에 사용을 SetMargins 호출하여 적절한 프린터 여백을 설정해야 합니다.

예시

CRichEditView::GetPaperSize에 대한 예제를 참조하세요.

CRichEditView::SetPaperSize

이 서식 있는 편집 보기를 인쇄하기 위한 용지 크기를 설정하려면 이 함수를 호출합니다.

void SetPaperSize(CSize sizePaper);

매개 변수

sizePaper
인쇄를 위한 새 용지 크기 값으로, MM_TWIPS 측정합니다.

설명

m_nWordWrap WrapToTargetDevice경우 이 함수를 사용한 후 WrapChanged를 호출하여 인쇄 특성을 조정해야 합니다.

예시

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

이 함수를 호출하여 이 CRichEditView 개체의 현재 선택 영역에 대한 단락 서식 특성을 설정합니다.

BOOL SetParaFormat(PARAFORMAT2& pf);

매개 변수

pf
PARAFORMAT2 새 기본 단락 서식 특성을 포함하는 구조체입니다.

Return Value

성공하면 0이 아닌 값입니다. 그렇지 않으면 0입니다.

설명

pf멤버가 dwMask 지정한 특성만 이 함수에 의해 변경됩니다.

자세한 내용은 Windows SDK의 EM_SETPARAFORMAT 메시지 및 PARAFORMAT2 구조를 참조하세요.

예시

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

FindText를 호출하지 못한 후 CRichEditView 컨트롤의 내부 검색 상태를 다시 설정하려면 이 함수를 호출합니다.

void TextNotFound(LPCTSTR lpszFind);

매개 변수

lpszFind
찾을 수 없는 텍스트 문자열을 포함합니다.

설명

컨트롤의 내부 검색 상태가 제대로 다시 설정되도록 FindText호출하지 못한 직후 이 메서드를 호출하는 것이 좋습니다.

lpszFind 매개 변수는 FindText에 제공된 문자열과 동일한 콘텐츠를 포함해야 합니다. 내부 검색 상태를 다시 설정하면 이 메서드는 제공된 검색 문자열을 사용하여 OnTextNotFound 메서드를 호출합니다.

예시

CRichEditView::FindText에 대한 예제를 참조하세요.

CRichEditView::WrapChanged

인쇄 특성이 변경되면 이 함수를 호출합니다( SetMargins 또는 SetPaperSize).

virtual void WrapChanged();

설명

서식 있는 편집 보기가 m_nWordWrap 변경 내용 또는 인쇄 특성(OnPrinterChanged)에 응답하는 방식을 수정하려면 이 함수를 재정의합니다.

예시

void CMyRichEditView::OnInitialUpdate()
{
   CRichEditView::OnInitialUpdate();

   // Turn on the horizontal scroll bar
   m_nWordWrap = WrapNone;
   WrapChanged();
}

참고 항목

MFC 샘플 WORDPAD
CCtrlView 클래스
계층 구조 차트
CRichEditDoc 클래스
CRichEditCntrItem 클래스