急!

解决方案 »

  1.   

    //可以为CRichEditCtrl中的某一部分指定显示设备
    //以下摘自MSDN
    // 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);