Avatar billede enric Nybegynder
26. november 2002 - 14:48 Der er 11 kommentarer og
1 løsning

Form1 som fylde hel skærm

Mit problem er at når jeg arbejder med form, og det gør man i VB,  at når jeg  arbejder kan jeg ikke nå den nederste del på form, og jeg kan ikke trække det nok op,  selv om jeg bruger meget høj opløsning på skærmen.
Hvis jeg bruger printform så kan det kun printe ud  2/3  af A4
Er der nogen som kan hælpe mig.
Enric
Avatar billede martin_moth Mester
26. november 2002 - 15:00 #1
Ikke helt med

Private Sub Form_Load()
  Form1.WindowState = vbMaximized
End Sub
?
Avatar billede enric Nybegynder
26. november 2002 - 19:48 #2
Tak Martin:
Så vil jeg forklare mig lidt bedre:
Min monitor arbejder 1024*768,hvis nu jeg oprette en Form1 og maximisere det og oprette et label1 på allenederste hjorne og så oprette et command1 hvor indholde me.printform, så den label1 blive circa 2/3 ned fra første linea, hvo det var mening at det skulle være allenedeste hjorne at A4.
Avatar billede enric Nybegynder
26. november 2002 - 19:56 #3
Tak Martin:
Så vil jeg forklare mig lidt bedre:
Min monitor arbejder 1024*768,hvis nu jeg opretter en Form1 og maximisere det og derefter  opretter en label1 på allenederste hjørne og så opretter et command1 som indeholder me.printform, så den label1 blive circa 2/3 når den bliver printet ud  nede fra første linie, hvor det var meningen at det skulle være i allernederste hjørne at A4.
  Jeg har prøvet med 1290*1024 og 1152*864
det hjalp men ikke nok
Enric
Avatar billede kantoraza Nybegynder
26. november 2002 - 20:12 #4
Prøv at sætte form1.autoredraw = true.

Men dette skal du ikke gøre i runtime, men fra VB.
Avatar billede enric Nybegynder
26. november 2002 - 20:28 #5
Tak Kantoraza men det hjalp ikke, desuden er mit problem at jeg skal arbejde på mit Form1 og jeg kan ikke trække op for at få mere plads på form1.
Avatar billede ocp Nybegynder
26. november 2002 - 21:35 #6
Du kan ikke "oversætte" skærm-layout direkte til print-layout.
Har du prøvet at kigge på printer-objektet?
Avatar billede enric Nybegynder
26. november 2002 - 23:53 #7
Det ved jeg godt at det er to forskellige ting, men hvordan kigger jeg ind på printer-objekter
Enric
Avatar billede enric Nybegynder
27. november 2002 - 00:05 #8
Desuden hvis jeg lave et skema på et form1 som skal printe ud på en A4 så kan det ikke være på min skærm,så jeg kan ikke lave den nederste del.
Enric
Avatar billede kantoraza Nybegynder
29. november 2002 - 16:15 #9
Du kan bare bruge en picturebox, kan du ikke? Med autoredraw=true
Avatar billede enric Nybegynder
29. november 2002 - 18:19 #10
Kære allesammen:
Enten jeg forklarer mit problem meget dårlig eller i forstår mig ikke, så det må være det første.
Jeg skal lave et skema på A4 og det mest naturlige for mig er at  gøre det  på For1, så laver jeg nogle label, og så nogen tekstboxe hist og pist, men når jeg har nået en ¾ af min Form1, så enten min skærm 15 ” eller min computer eller en eller anden som jeg har bedt om hjælp som forhindrer mig at lave den sidste 1/3 af Form1, jeg kan ikke trække Form1 op på den blå bjælke, og jeg arbejder med 1024* 768 ,hvis jeg skifter til 1280*960 så kan det lige gå .
Tak
Enric
Avatar billede cole Nybegynder
01. december 2002 - 11:41 #11
Prøv denne programkode som kan vise et helt A4 på skærmen og skrive et helt A4 ak ud.
Jeg har lavet koden primitivt og du kan selv forædle den hvis det er noget du kan bruge.

Du skal hent en Picturebox ind på formen. Picture1 og sætte dens egenskab til AutoRedrw True

Option Explicit
'ColeData
'Opret en Picturebox på formen her kaldt Picture1
'Sæt Picture boxens egenskaben autoRedrew til True
Dim Forhold As Single
Private Sub Form_Load()
  'Udskriv på skærm
  PrintTekst Picture1
 
  'Udskriv på printer
  PrintTekst Printer
End Sub
Private Sub PrintUd(objektet As Object, Feltstørrelse As Single)
  If TypeOf objektet Is Printer Then
    Printer.ScaleMode = vbCentimeters
    Forhold = 1
    Printer.Print ""
    Printer.CurrentX = 0
    Printer.CurrentY = 0
    Printer.FontTransparent = True
  Else
  Printer.ScaleMode = vbCentimeters
  objektet.Cls
  Forhold = Feltstørrelse / 100
  objektet.ScaleMode = vbTwips
  Picture1.Left = 2040
  Picture1.Top = 0
  objektet.Scale (0, 0)-(Printer.ScaleWidth, Printer.ScaleHeight)
  objektet.Visible = True
 
  End If
End Sub

Private Sub PrintTekst(objektet As Object)
  'Her skriver du hvad der skal stå på papiret eler skærmen
  'Hvis du skal skrive meget kan det betale sig at lave
  'en procedure til CurrentX, CurrentY, FontBold osv.
  PrintUd objektet, 50  'Zoom ind på skærmen
  objektet.CurrentX = 9.5
  objektet.CurrentY = 2
  objektet.FontName = "Arial"
  objektet.FontBold = True
  objektet.FontSize = 24 * Forhold
  objektet.Print "Tabel"
 
  objektet.CurrentX = 10
  objektet.CurrentY = 4
  objektet.FontName = "Times New Roman"
  objektet.FontBold = True
  objektet.FontSize = 12 * Forhold
  objektet.Line (10.5, 5)-(16.8, 5) 'Vandret streg
  PrintSlut objektet
End Sub
Private Sub PrintSlut(objektet As Object)
  If TypeOf objektet Is Printer Then
    Printer.EndDoc
  End If
End Sub
Avatar billede enric Nybegynder
01. december 2002 - 22:04 #12
Tak cole det vil jeg prøve
Enric
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