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