Avatar billede mieritz Nybegynder
12. november 2003 - 10:00 Der er 3 kommentarer og
2 løsninger

Lægge Label på Chart

Jeg har oprettet en chart som jeg printer ud, men jeg har lige nogle spørgsmål til noget jeg ikke kan finde ud af.

Jeg vil gerne have dato og tidspunkt på min chart og har oprettet to Tlabels, men de hvis jeg lægger dem på min chart vises de ikke de gemmer sig bar min chart og de skulle helst på. Et andet spørgsmål er at min chart fylder ikke hele siden så jeg ville høre om det er muligt at man kan få charten når man printer den ud til at at fylde hele a4-siden
Avatar billede soepro Nybegynder
12. november 2003 - 12:59 #1
Af TLabel antager jeg du bruger C++ Builder !?!?

I fht. hvad der kan ses på print, når to figurer "overlapper" hinanden, så har rækkefølgen en betydning. I dit eksempel skal du sørge for at charten bliver tegnet først, og label'erne der oven på. Mht. at få printet til at passe til sidestørrelsen skal du aktivt kopiere dit (skærm) canvas over på printerens canvas - jeg mener at en af parametrene til CopyRect er "stretch".

Alternativt skal du lave in chart en gang til - i et forhold der passer til sidestørrelsen - enten på skærmen (eller en form beregnet til det) eller direkte på printerens canvas.

Har du et. en kodestump, der viser hvordan du printer ? Har du kigget på at anvende QReport chartet ?
Avatar billede mieritz Nybegynder
12. november 2003 - 20:07 #2
jeg har fået den til at passe med a4siden det gør den automatism, men den vil ikke printe de labels der ligger på charten ud hvad skal jeg skrive for at få dem med på mit udprint

Chart1->PrintLandscape();

det er denne kommando jeg bruger nu for at printe ud
Avatar billede segmose Nybegynder
13. november 2003 - 10:15 #3
Du skal nok vælge Chart1's owner's PrintLandscape(), nu kan jeg ikke huske det nøjagtige måde at gøre det på men det kunne være:

Chart1->owner->PrintLandscape();
Avatar billede segmose Nybegynder
13. november 2003 - 10:17 #4
Og det er selvfølgelig fordi Label ikke er en child af Chart1, men af dennes owner, så vidt jeg husker.
Avatar billede soepro Nybegynder
13. november 2003 - 11:21 #5
Yeps segmose - det var netop det jeg var ude efter. Du skal print hele sidne vha. Formens/canvas'ets Print() metode, dvs. hvis din TChart ligger på Form1, så skal du bruge Form1->Print() i stedet for. Mht. at få udskriften i Landscape, så er det jo noget brugeren selv vælger via en TPrinterSetupDialig (se dialog fanen) - du skal så sørge for at din Form passer til den valgte printers canvas - det sørger Print() metoden til TForm nemlig ikke for selv. Du skal med andre ord ændre formens størrelse til at passe til den valgte printer *inden* du "fyrer Print() metoden.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester