CRichEditCtrl::FormatRange

格式化文本的大小丰富的特定设备的编辑控件。

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

参数

  • pfr
    对包含有关输出设备的信息的 FORMATRANGE 结构的指针。 NULL 指示在丰富中缓存的信息编辑控件可以被释放。

  • bDisplay
    指示该文本是否应呈现。 如果 FALSE,文本测量。

返回值

有关区域以及一个最后一个字符的索引。

备注

通常,这称为通过对 DisplayBand的调用之后。

有关更多信息,请参见 EM_FORMATRANGE 消息和 FORMATRANGE 结构。Windows SDK。

示例

// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
   CDC* pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());

   FORMATRANGE fr;

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

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

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

   pMyPrinterDC->DeleteDC();
}

要求

Header: afxcmn.h

请参见

参考

CRichEditCtrl选件类

层次结构图

CRichEditCtrl::DisplayBand