次の方法で共有


CRichEditCtrl::FormatRange

指定したデバイスのリッチ エディット コントロールのテキスト範囲の書式を設定します。

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

パラメーター

  • pfr
    出力デバイスに関する情報を含む FORMATRANGE の構造体へのポインター。null は、リッチ エディット コントロール内のキャッシュされた情報を解放できることを示します。

  • bDisplay
    テキストが表示されるかどうかを示します。FALSEが、テキスト、測定されます。

戻り値

この最後の文字のインデックス 1 に収まるの領域。

解説

通常、この呼び出しは DisplayBandの呼び出しが続きます。

詳細については、Windows SDKの EM_FORMATRANGE のメッセージと FORMATRANGE の構造体を参照してください。

使用例

// 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();
}

必要条件

ヘッダー: afxcmn.h

参照

関連項目

CRichEditCtrl クラス

階層図

CRichEditCtrl::DisplayBand