Druck Position eines Textes ?



  • Hallo Leute,

    ich habe hier ein kleines Problem beim ausrichten meines Textes beim Drucken.
    ich benutze die Funktion:

    pDC->TextOut(310,690,"Hier soll der text hin ");
    

    das Problem ist das wenn ich einen Anderen Drucker habe der Tex auch an einer anderen Stelle ist. So ich kann mir ja mit:

    int a = rcClient.Height();
    	int b = rcClient.Width();
    
    	int c = pDC->GetDeviceCaps(PHYSICALWIDTH); 
    	int d = pDC->GetDeviceCaps(PHYSICALHEIGHT);
    

    disen beiden Methoden den Druckbereich holen auf dem ich drucken kann. Nur wie teile ich diesen Druck bereich nun ein damit bei jedem Drucker die Position des Textes gleich ist ?

    Danke Coolsero



  • Hallo Coolsero,

    wenn ich Dich recht verstanden habe, dann sollte das so gehen:

    int c = pDC->GetDeviceCaps(PHYSICALWIDTH);
        int d = pDC->GetDeviceCaps(PHYSICALHEIGHT);
    

    Nehmen wir an, der Text soll vom linken Rand 10% der Breite des Druckbereichs (= 0.1 * Breite) entfernt sein, und von der Höhe her in der Mitte liegen (= 0.5 * Höhe).

    int x = (int)(0.1 * c);
        int y = (int)(0.5 * d);
        pDC->TextOut(x, y, "Hier soll der text hin ");
    

    Viel Spaß noch,
    Octopus


Anmelden zum Antworten