CRichEditCtrl::FormatRange
Met en forme une plage de texte dans un contrôle RichEdit pour un appareil spécifique.
long FormatRange(
FORMATRANGE* pfr,
BOOL bDisplay = TRUE
);
Paramètres
pfr
Pointeur vers la structure de FORMATRANGE qui contient des informations sur le périphérique de sortie. NULL indique que les informations mises en cache dans le contrôle RichEdit peuvent être libérées.bDisplay
Indique si le texte est affiché. Si FALSE, le texte est simplement mesuré.
Valeur de retour
Index du dernier caractère qui s'ajuste dans la région plus une.
Notes
En général, cet appel est suivi par un appel à DisplayBand.
Pour plus d'informations, consultez le message d' EM_FORMATRANGE et la structure de FORMATRANGE dans Kit de développement logiciel Windows.
Exemple
// 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();
}
Configuration requise
Header: afxcmn.h