kaldemor Geschrieben 6. März 2008 Geschrieben 6. März 2008 Hallo, wie kann man Höhe und Breite von einem Richedittext ermitteln? Hab mit dem Beispiel aus MSDN versucht -> Programmabsturz. // The pointer to my rich edit control. CRichEditCtrl* pmyRichEditCtrl; // A pointer to a printer DC. 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); Hat jemand eine andere Idee? Mfg, kaldemor
Klotzkopp Geschrieben 6. März 2008 Geschrieben 6. März 2008 Hab mit dem Beispiel aus MSDN versucht -> Programmabsturz.Ohne mir das jetzt genauer angesehen zu haben: Solange du mit uninitialiserten Zeigern hantierst, darf dich das nicht wundern. Es wäre also gut, wenn pmyRichEditCtrl und pMyPrinterDC auch tatsächlich auf etwas zeigen würden, und nicht nur irgendwo in den Speicher.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden