Avatar billede martin_moth Mester
17. januar 2002 - 18:29 Der er 5 kommentarer og
2 løsninger

Printdialog & Flags

Jeg vil gerne kunne åbne en printdialog fra mit program. Der skal være:

Skjult \'Skriv til fil\'
Skjult \'Markeringen\'
Vist: \'Alle sider\'
Vist: \'Aktuel side\'
Vist: \'Sider: \' (hvor bruger indtaster fx. \"2-5\"

Jeg har selv følgende forslag, hvor der mangler lidt:

CommonDialog_Print.Flags = ???
CommonDialog_Print.ShowPrinter
CommonDialog_Print.FromPage = ??
CommonDialog_Print.ToPage = ??

Hvordan får jeg smidt brugerens valg ind i 2 variable der hedder fx. Startside og Slutside? Jeg kan vel ikke bare skrive Startside = CommonDialog_Print.FromPage osv.?

En anden ting - jeg skal bare have bekræftet følgende... Jeg vil tegne noget grafik på siderne der printes. Hvordan er udsktiftsområdet defineret - Er det bare Printer.Height og Printer.Width, der bestemmer hvor jeg må tegne (som det gælder for en PictureBox?)

/Martin
Avatar billede martin_moth Mester
18. januar 2002 - 10:41 #1
Kom nu - den burde da være nem???? Nå, jeg kan så tilføje, at man skal kunne vælge antal kopier, men ikke om de skal udskrives 1-1, 2-2 eller 1-2,1-2 (collate)...

Det er vel bare et spørgsmål om at vælge de rigtige flags, men hvilke???
Avatar billede martin_moth Mester
18. januar 2002 - 13:42 #2
Lidt flere points for at få gang i sagerne... Kom så, nu er vi oppe på 80 af de nemme! /Martin
Avatar billede ea_data Nybegynder
18. januar 2002 - 18:11 #3
Her er et beskedent bidrag med hensyn til udskriftsområdet på printer

Man bør sætte måleenheden til millimeter, cm mv. Det gøres med:
Printer.scalemode=6 \'millimeter (7=cm)

bredde og højde kan aflæses med:

Printer.ScaleMode = 6
Me.Print Printer.ScaleWidth
Me.Print Printer.ScaleHeight

Placering på printer kan ske med:

Printer.ScaleMode = 6
printer.currentx=30
printer.currenty=50

Her skrives 50mm nede og 30mm fra venster margin

Avatar billede martin_moth Mester
18. januar 2002 - 18:19 #4
Glem det - jeg fanst selv ud af det. Man skal specificere en max-værdi

CommonDialog_Print.max = MaxAntalSider

for at boxen hvor man kan indtaste hvilke sideinterval man vil udskrive bliver synligt...

80 points sparet er 80 points tjent!

/Martin
Avatar billede martin_moth Mester
18. januar 2002 - 18:21 #5
Ok - jeg så ikke dit svar. Du har kun svaret på det ene af spørgsmålene (som bare er en bekræftigelse på hvad jeg selv foreslog...) - så du får 20 points. Håber det er OK - ellers må du klage..

Takker, Martin

Avatar billede ea_data Nybegynder
18. januar 2002 - 19:00 #6
Brugerens valg kan lægges ind i variabler således:

CommonDialog1.ShowPrinter
Fra= CommonDialog1.FromPage
Til= CommonDialog1.ToPage
Antal= CommonDialog1.Copies
Avatar billede ea_data Nybegynder
18. januar 2002 - 19:01 #7
Det er ok :-)
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