keine Arial-Fettschrift in TextRect auf TPrinter-Zeichenfläche, warum? [gelöst]



  • Hallo Gemeinschaft,

    folgendes (Drucken einer leeren Tabelle) funktioniert fast wunderbar, bis auf derzeit 1 Problem:

    TPrinter *Drucker= Printer();
    	TCanvas *Druckseite= Drucker->Canvas;
    	//... Deklaration und Initialisierung von int's, TRect's, TRect-Array's, TPoint-Array's ...
    	Drucker->Title= "DruckTest";
    	//... Dies und Jenes, was nichts mit dem Drucken zu tun hat ... 
    	Drucker->BeginDoc();
    	Druckseite->Font->Name= "Arial";
    	Druckseite->Font->Style= TFontStyles(fsBold);                                   // PROBLEMZEILE
    	Druckseite->Font->Size= 20;                                                     //24
    	Druckseite->TextRect(AussenRahmen, 750, 350, "<Hauptüberschrift>");
    	Druckseite->Font->Size= 14;                                                     //18
    	Druckseite->TextRect(TbHead[0], 750, 2075, "<Tabellenkopf links>");
    	Druckseite->TextRect(TbHead[1], TbMi + 500, 2075, "<Tabellenkopf rechts>");
    	Druckseite->Pen->Style= psSolid;
    	Druckseite->Pen->Width= 5;
    	Druckseite->Polyline(KopfLinie, 1);
    	Druckseite->Polyline(Tabelle, 4);
    	Druckseite->Polyline(TabellenLinie[0], 1);
    	Druckseite->Polyline(TabellenLinie[10], 1);
    	Druckseite->Pen->Style= psDot;
    	Druckseite->Pen->Width= 1;
    	for(int i= 1; i < 10; i++)
    		Druckseite->Polyline(TabellenLinie[i], 1);
    	Druckseite->Brush->Color= clBlack;
    	Druckseite->FrameRect(AussenRahmen);
    	Drucker->EndDoc();
    

    1. Wenn ich in Zeile 8 nicht explizit angebe, dass fsBold vom Typ TFontStyles ist:

    Druckseite->Font->Style= fsBold;
    

    bekomme ich folgende Meldung:

    [C++ Fehler] Main.cpp(1419): E2034 Konvertierung von 'TFontStyle' nach 'TFontStyles' nicht möglich

    Was mache ich falsch?

    2. Die Schrift wird nicht fett dargestellt, sowohl mit Drucker PDF-Creator, als auch auf einem "echten" Ausdruck mit einem Laserdrucker. Warum wird die Schrift nicht fett gedruckt?

    Ich habe mir die Schriftart mal angeschaut und festgestellt, dass Standardgrößen (Höhen) 24 Pixel und 18 Pixel sind... ich dachte dass es vielleicht daran liegt, dass ich Zwischengrößen für die Schrift verwende, aber die Benutzung von Standardgrößen ändert auch nichts!

    Weiß jemand Rat?

    MfG



  • Versuch mal folgendes:

    Druckseite->Font->Style= TFontStyles() << fsBold;

    das dürfte gehen 😉



  • Hawkxxx schrieb:

    Druckseite->Font->Style= TFontStyles() << fsBold;
    

    Yes, so geht das... War wohl schon wieder etwas zu lange am PC gestern... 😉 Vielen Dank!


Log in to reply