DrawText Problem



  • Hallo zusammen,

    nachdem die MessageBox Abfrage jetzt einwandfrei dank euch funzt, ist ein neues Problem aufgetreten.

    Ich habe eine Druckfunktion, die auch super funktioniert aber leider wird das erzeugte Rechteck in welchem die einzelnen Datensätze stehen, jedes Mal mitgedruckt.

    Wie kann ich das verhindern?

    MfG
    Scalls



  • Code? 🙄



  • str =  element->getContent();
    rect.SetRect(Pos_Beschreibung,yPos,Pos_Skalierung-10,yPos+1);
    
    //Höhe berechnen
    
    nHeight = dcPrint.DrawText(str, rect, DT_CALCRECT|DT_TOP|DT_LEFT|DT_WORDBREAK|DT_NOCLIP|DT_EXPANDTABS);
    

    In element stehen die Daten die gedruckt werden sollen.

    Und das ist so realisiert:

    dcPrint.MoveTo (Rahmen_Links                           ,yPos-2);
    dcPrint.LineTo (Rahmen_Links			,yPos+3+nHeight);
    dcPrint.MoveTo (PageWidth-Rahmen_Rechts	         ,yPos-2);
    dcPrint.LineTo (PageWidth-Rahmen_Rechts	         ,yPos+3+nHeight);
    dcPrint.MoveTo (Rahmen_Links			,yPos+3+nHeight);
    dcPrint.LineTo (PageWidth-Rahmen_Rechts	         ,yPos+3+nHeight);
    dcPrint.MoveTo (Rahmen_Links			,yPos-2);
    dcPrint.LineTo (PageWidth-Rahmen_Rechts	         ,yPos-2);
    
    dcPrint.SetTextAlign(TA_LEFT+TA_TOP);
    str = element->getDataAdress();
    dcPrint.TextOut(Pos_Addresse,yPos,str);
    
    str = _T( (element->getType()==2)?'W':'B' );
    cPrint.TextOut(Pos_Org,yPos,str);
    
    str = element->getName();
    dcPrint.TextOut(Pos_FeldName,yPos,str);
    
    str.Format("%.4d",element->getIndex());
    dcPrint.TextOut(Pos_Index,yPos,str);
    
    str =  element->getContent();
    dcPrint.DrawText(str, rect,DT_TOP|DT_LEFT|DT_WORDBREAK|DT_NOCLIP|DT_EXPANDTABS);
    
    dcPrint.SetTextAlign(TA_RIGHT+TA_TOP);
    
    str.Format("%4.1f",element->getScale());
    dcPrint.TextOut(Pos_Skalierung + Width_Skalierung,yPos,str);
    
    str.Format("%d",element->getValue());
    dcPrint.TextOut(Pos_InhaltDez + Width_InhaltDez,yPos,str);
    
    str.Format("%5.2f",element->getValue()/element->getScale());
    dcPrint.TextOut(Pos_InhaltPhysik + Width_InhaltPhysik,yPos,str);
    
    dcPrint.SetTextAlign(TA_LEFT+TA_TOP);
    
    str = _T(element->getUnit());
    dcPrint.TextOut(Pos_InhaltPhysik + Width_InhaltPhysik + 1 ,yPos,str);
    
    str = _T(element->getInfoFile());
    dcPrint.DrawText(str, rect, DT_TOP|DT_LEFT|DT_WORDBREAK|DT_NOCLIP|DT_EXPANDTABS);
    
    yPos +=5+nHeight;
    

    Das läuft alles in einer Schleife bis element "leer" ist.
    Jetzt möchte ich aber bloss die Datensätze haben ohne das Rechteck welches jedesmal mitgedruckt wird.



  • Hat niemand eine Idee?


Log in to reply