CRichEditCtrl::FormatRange

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

Return Value

The index of the last character that fits in the region plus one.

Parameters

pfr

Pointer to the structure which contains information about the output device. NULL indicates that cached information within the rich edit control can be freed.

bDisplay

Indicates if the text should be rendered. If FALSE, the text is just measured.

Remarks

Call this function to format a range of text in a rich edit control for a specific device. Typically, this call is followed by a call to DisplayBand.

For more information, see message and structure in the Win32 documentation.

Example

// The pointer to my rich edit control.
extern CRichEditCtrl* pmyRichEditCtrl;
// A pointer to a printer DC.
extern CDC* pMyPrinterDC;

FORMATRANGE fr;

// Get the page width and height from the printer.
long lPageWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
    1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
long lPageHeight = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALHEIGHT),
    1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSY));
CRect rcPage(0, 0, lPageWidth, lPageHeight);

// Format the text and render it to the printer.
fr.hdc = pMyPrinterDC->m_hDC;
fr.hdcTarget = pMyPrinterDC->m_hDC;
fr.rc = rcPage;
fr.rcPage = rcPage;
fr.chrg.cpMin = 0;
fr.chrg.cpMax = -1;
pmyRichEditCtrl->FormatRange(&fr, TRUE);

// Update the display with the new formatting.
RECT rcClient;
pmyRichEditCtrl->GetClientRect(&rcClient);
pmyRichEditCtrl->DisplayBand(&rcClient);

CRichEditCtrl OverviewClass MembersHierarchy Chart

See Also   CRichEditCtrl::DisplayBand