Hej! Hej -SvenPon, hur får jag in mitt diagram i pictureboxen, måste jag ladda in den på nåt sätt? mmmmmmmmmmmmmmmm !!!!!Anpassa utskrift till A4
Jag har ett formulär med en mschart kontroll på som ritar ut ett diagram
men när jag försöker skriva ut formuläret med frmDiagram.PrintForm så hamnar utskriften stående och längst upp på pappret fast jag har valt liggande. Använder mig av ComDialog.Flags = &H40 ComDialog.ShowPrinter. Hur kan man skriva ut formuläret så det hamnar liggande + att den skriver ut diagrammet maximalt på ett A4 pappret.
Hittade gammal kod som använde sig av koden nedan för att sätta storlek,skalning.
Finns det nån annan variant av detta i vb6 /Mats
<code>
Dim mPrintInfo As VtcChPrintInformation 'Innehåller skrivarinfo
'Sätt storlek (skalning) på diagrammet
Select Case True
Case optStorlek(0)
mPrintInfo.scaleType = VtPrintScaleTypeActual
Case optStorlek(1)
mPrintInfo.scaleType = VtPrintScaleTypeFitted
Case optStorlek(2)
mPrintInfo.scaleType = VtPrintScaleTypeStretched
End Select
</code>Sv: Anpassa utskrift till A4
frmDiagram.PrintForm är en värdelös metod går inte att använda till något vettigt.
Råd du får bygga om lite och använda PrinterObjektet.
Det bästa är om du lägger in ditt diagram i en PictureBox på Formen.
Ett exempel från min fatabur. kolla raden Printer.PaintPicture Diagram.Picture, 2, 0.5, 15,10
Där skriver jag ut diagrammet på position 2,0.5 cm
Jag skalar det till 15,10 cm ,här fixar du till din bredd och höjd i cm på ditt A4
On Error GoTo NoPrint
CmDialog.Flags = &H100000 Or &H4
CmDialog.ShowPrinter
Printer.Orientation = 1
Printer.ScaleMode = 7
'ScaleMod = centimeter
'******* Print Huvud ***********
Printer.PaintPicture Diagram.Picture, 2, 0.5, 15, 10
Printer.FontName = "Arial"
Printer.FontBold = True
Printer.CurrentX = 2: Printer.CurrentY = 3
Printer.FontSize = 16
Printer.Print Left$(strRubrik, Len(strRubrik) - 4)
Printer.FontSize = 12
Printer.FontBold = True
Printer.CurrentX = 12.8: Printer.CurrentY = 1.5
Printer.Print lblPanDatum
Printer.FontSize = 10
Printer.FontBold = True
Printer.CurrentX = 2: Printer.CurrentY = 3.8
Printer.Print "Senaste UppDatering "
'/SvenSv: Anpassa utskrift till A4
Sv: Anpassa utskrift till A4
Efter att ha skrivit mitt svar kom jag på att du använder MSChart.
Då tänkte jag att du skall lägga den i Diagram PictureBoxen. Men !
det kommer nog inte att funka för utskrift.Du kommer att få en blank
Picture utskrift MSChart kommer inte med.
I mitt exempel har jag ritat diagrammet direkt i PictureBoxen enl exempel se.Programarkivet:Diagram Design
>SvenPon, hur får jag in mitt diagram i pictureboxen, måste jag ladda in den på nåt sätt?
Du markerar den, gör Cut och sedan aktivera pictureBoxen klistra in .Designläge.
Tror att du måste använda API BitBlt , ta en kopia av den delen som MSChart
täcker på Formen och lägga in i PictureBoxen, sedan skriva ut
/Sven