Koordinaten beim drucken



  • Hallo, ich habe ein problem beim drucken. und zwar muß ich ein lottoschein bedrucken. doch leider will das nicht ganz klappen.

    double fh,fw;
          String reihe;
          P->Orientation=poPortrait;
          P->Title="Systemzahlen Drucken";
    
          fh=P->PageHeight/179.5;
          fw=P->PageWidth/105.5;
          P->Canvas->MoveTo(0,0);
          //int ypos=int(0*fh);
          //int xpos=int(0*fw);
          P->BeginDoc();
    
          P->Canvas->TextOutA(int(16*fw),int(2.5*fh),"X");
          P->Canvas->TextOutA(int(21*fw),int(2.5*fh),"X");
    P->EndDoc();
    

    Wenn ich aber das ganze ausdrucken dann stimmen die ganzen masse nicht überein. Wie soll ich das machen dann ich das was ich mit dem lineal auf dem papier abmesse auch problemlos im code umsetzbar ist. Wenn ist das ganze nur ausprobieren soll dann sitze ich noch ein jahr dran. Gibt es da nicht eine einfachgere lösung?



  • PageHeight und PageWidth sind Angaben in Pixeln. Ich vermute, Du möchtest gerne ein Lineal anlegen und die Positionsangaben in Millimetern machen. Dazu mußt Du dir mit GetDeviceCaps die geräteabhängigen Infos besorgen und mit diesen Infos deine Millimeterangaben in Pixeln umrechnen. Und vergiß nicht den nichtdruckbaren Bereich!

    Rob'



  • ich denke ich habe den fehler gefunden. und zwar hatte ich eine einstellung auf dina4 blatt. deshalbt stimmen die koordinaten überhaupt nicht. weiß denn vieleicht jemand wie ich im drucker ein neues papierformat hinzufügen kann? normal habe ich ja nur usletter, briefumschläge und und und, aber ich will ja ein lottoschein drucken und der hat ja ganz andere größe. kann man nicht mit Printer() irgendwie dem drucker sagen dass das blatt diese größe hat.


Anmelden zum Antworten