Buell Geschrieben 20. August 2002 Geschrieben 20. August 2002 Hi, ich habe hier ein MSChartControl, das einfach nur eine Jahresübersicht von Zahlen hat (12 Reihen, eine Spalte) wenn ich wie im VB6 Buch von Michael Kofler beschrieben das Ding drucken will, dann fehlt links und recht ein wenig, so das die Y-Achsenbeschriftung (also 100,200,300,400..) sowohl links auch rechts nicht komplett sind. Das MSChart-Control selbst unterstützt das drucken ja nicht, so dass der Umweg über das Clipboard und das Printer-Objekt gegangen werden muss: Clipboard.clear Dim border Me.MSChart2.EditCopy Set Picture.Picture = Clipboard.GetData(vbCFMetafile) Printer.ColorMode = 1 Printer.Orientation = vbPRORLandscape border = Printer.ScaleWidth / 20 Printer.PaintPicture Me.Picture1.Picture, border, _ border,Printer.ScaleWidth - 2 * border, _ Printer.ScaleHeight - 2 * border Printer.EndDoc Testweise habe ich mit den Border-Werten rumgespielt und auch ein anderes Picture-Control (von Protoview) verwendet. Dort war das gleiche Problem. Nun, mein Leben hängt vom Feature "Chart Drucken" nicht ab, doch ich hätts halt gerne eingebaut. Any Hints? thanx Buell
Buell Geschrieben 20. August 2002 Autor Geschrieben 20. August 2002 Lösung gefunden mit dem Imagecontrol und andere Width-Werte gehts nun optimal: Me.MSChart2.EditCopy Me.Image1.Picture = Clipboard.GetData(vbCFMetafile) If Me.Option1.Value = True Then Printer.Orientation = vbPRORLandscape Else Printer.Orientation = vbPRORPortrait End If Printer.ScaleMode = vbTwips co = Printer.ScaleWidth / Me.Image1.Width y = Printer.CurrentY Printer.PaintPicture Me.Image1.Picture, 0, y, Me.Image1.Width * co, Me.Image1.Height * co Printer.EndDoc ciao Buell
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden