Executar el programa m6p7.exe per cončixer el seu comportament. Veure el llistat del codi del programa, m6p7. Executar Visual Basic per editar el projecte (acabat): m6p7.vbp. ImprimirPodeu fer ús de la impressora de les dues formes esmentades a continuació:a) Imprimir un formulari fent un bolcat de pantalla Els formularis tenen un mčtode PrintForm que imprimeix el formulari igual que el veieu a la pantalla. Així, en el projecte Eixos de coordenades de l'activitat 2 podeu afegir un nou botó de comandament que tingui el títol d'imprimir amb el següent codi: Sub Imprimir_Click() Dim Contestació as Integer Contestació = MsgBox("Segur que vols imprimir el formulari ?",MB_YESNO) If Contestació = IDYES Then frmEixos.PrintForm End Sub Definiu també la variable global al formulari: Const IDYES=6 aquest valor de la variable és el que retorna la funció MsgBox quan es prem el botó d'acceptació. Heu de tenir cura de demanar confirmació abans d'imprimir el formulari. Aquesta forma d'imprimir fa un bolcat de mapa de bits del formulari cap a la impressora. b) Imprimir en l'objecte Printer A efectes de dibuixar, l'objecte Printer és molt semblant als objectes formulari i quadre de dibuix, de manera que té quasi bé els mateixos mčtodes i propietats que aquests. A més disposa dels mčtodes propis EndDoc i NewPage. Com que dibuixar en un formulari és igual que fer el dibuix en l'objecte printer, és convenient fer primer el dibuix a sobre d'un formulari, i fer les proves necessŕries fins que el programa funcioni bé. Després el podeu posar dins de l'objecte Printer afegint les instruccions adients de EndDoc i NewPage. Tema: Printer Subtema: Printer Object Fareu un programa amb dues opcions de menú, que faran el mateix dibuix en el formulari i en l'objecte printer. El formulari esmentat se semblarŕ al mostrat a sota. Fase de disseny de la interfície d’usuariCreeu un formulari nou al qual li afegireu un menú, anomenat Dibuix i amb dues opcions: Per pantalla i Per impressora. El projecte el desareu amb el nom m6p7 i en el directori C:\VBCurs\VBActivi\m6\p7. Les propietats dels objectes són:
Fase de programació de respostes a eventsMčtodes associats a l'event ClickRecordeu que no cal que escriviu aquest codi. El podeu copiar a la carpeta i enganxar-lo en la finestra d'edició de Visual Basic. Per a l'opció de menú Per pantalla: Sub mnuPantalla_Click () Dim LLargPaper As Single, AltPaper as single Dim VčrtexAX As Integer, VčrtexAY As Integer Dim VčrtexBX As Integer, VčrtexBY As Integer Dim i As Integer 'Mida del paper Din A4 menys els marges LLargPaper = 210 AltPaper = 297 'Posa el sistema de coordenades amb origen en el 'centre del paper i mides exactes del DIN A4 frmGrŕfic.ScaleMode = 6 VčrtexAX = -(LLargPaper / 2) VčrtexAY = (AltPaper / 2) VčrtexBX = (LLargPaper / 2) VčrtexBY = -(AltPaper / 2) frmGrŕfic.Scale (VčrtexAX, VčrtexAY)-(VčrtexBX, VčrtexBY) 'Dibuixa el cercle gros frmGrŕfic.FillStyle = 1 'Transparent frmGrŕfic.Circle (0, 0), 90 'Dibuixa els cercles frmGrŕfic.FillStyle = 0 'Sňlid For i = 4 To 1 Step -1 frmGrŕfic.FillColor = QBColor(i) frmGrŕfic.Circle (0, 0), i * 10 Next 'Dibuixa els rectangles sobre els cercles For i = 50 To 80 Step 10 frmGrŕfic.Line (-20, i + 10)-(20, i), QBColor(i / 10), BF Next 'Dibuixa els rectangles sota els cercles For i = -50 To -80 Step -10 frmGrŕfic.Line (-20, i - 10)-(20, i), QBColor(-i / 10), BF Next 'Fa la línia de cercles final For i = -90 To 90 Step 5 frmGrŕfic.Circle (i, -100), 1 Next 'Fa les línies rectes frmGrŕfic.Line (90, 100)-(-90, -100) frmGrŕfic.Line -(0, 130) frmGrŕfic.Line -(90, -100) frmGrŕfic.Line -(90, 100) End Sub Per tal de fer el grŕfic creareu un sistema de coordenades en el qual les unitats del formulari siguin mil·límetres i amb la mida del paper Din A4, és a dir, 210´297 cm. Per a l'opció de menú Per impressora: Per tal de fer el procediment corresponent a l'objecte Printer (Sub mnuImpressora_Click) heu d'escriure el mateix que en Sub mnuPantalla_Click (el procediment anterior) tot i reemplaçant la paraula frmGrŕfic per la paraula Printer. Heu d'afegir-hi la darrera instrucció printer.EndDoc que li dóna a la impressora l'ordre de final de document, i fa que surti el paper. Sub mnuImpressora_Click () Dim LLargPaper As Single, AltPaper As Single Dim VčrtexAX As Integer, VčrtexAY As Integer Dim VčrtexBX As Integer, VčrtexBY As Integer Dim i As Integer 'Mida del paper Din A4 menys els marges LLargPaper = 210 AltPaper = 297 'Posa el sistema de coordenades amb origen en el 'centre del paper i mides exactes del DIN A4 Printer.ScaleMode = 6 VčrtexAX = -(LLargPaper / 2) VčrtexAY = (AltPaper / 2) VčrtexBX = (LLargPaper / 2) VčrtexBY = -(AltPaper / 2) Printer.Scale (VčrtexAX, VčrtexAY)-(VčrtexBX, VčrtexBY) 'Dibuixa el cercle gros Printer.FillStyle = 1 'Transparent Printer.Circle (0, 0), 90 'Dibuixa els cercles Printer.FillStyle = 0 'Sňlid For i = 4 To 1 Step -1 Printer.FillColor = QBColor(i) Printer.Circle (0, 0), i * 10 Next 'Dibuixa els rectangles sobre els cercles For i = 50 To 80 Step 10 Printer.Line (-20, i + 10)-(20, i), QBColor(i / 10), BF Next 'Dibuixa els rectangles sota els cercles For i = -50 To -80 Step -10 Printer.Line (-20, i - 10)-(20, i), QBColor(-i / 10), BF Next 'Fa la línia de cercles final For i = -90 To 90 Step 5 Printer.Circle (i, -100), 1 Next 'Fa les línies rectes Printer.Line (90, 100)-(-90, -100) Printer.Line -(0, 130) Printer.Line -(90, -100) Printer.Line -(90, 100) Printer.EndDoc End Sub ExercicisNo n'hi ha |