Hallo zusammen!
Da ich nicht sicher bin, ob ich mein Anliegen angemessen auf Englisch ausdrücken kann, werde ich es diesmal lieber auf Deutsch versuchen
Ich schreibe gerade eine Desktop-App (für MacOS und Windows), mit der ich in der Schule meine Kurse verwalten kann. Das Programm speichert hauptsächlich Schülerdaten, Kursinhalte und Noten, die nach bestimmten Schlüsseln verrechnet werden, in einer Datenbank (das Ganze natürlich passwortgeschützt und verschlüsselt). Das klappt auch alles problemlos.
Nun arbeite ich gerade an einer Druckausgabe der Halbjahresnoten; dabei möchte ich die Tabelle der entsprechenden Seite in der Kursmappe als Grafik millimetergenau “nachbauen”, sodass ich zum Halbjahr nur die Liste auszudrucken und in die Kursmappe kleben muss. An sich würde auch das funktionieren, aber ich habe das Problem, dass die Linien selbst bei einer penwidth/penhight von 1 viel zu stark sind (und bei 0 ist natürlich gar keine Linie zu sehen; ein Wert zwischen 0 und 1 funktioniert auch nicht). Ich habe im Forum zwar einen Thread zu dieser Problematik gefunden, aber der hat bei mir zu keiner Lösung geführt.
Das Grundproblem ist vermutlich, dass die ganze Drucksache für mich noch ziemlich neu und zugegebenermaßen undurchsichtig ist. Vermutlich ließe sich das von mir gewünschte Ergebnis auch mit einem Report erzielen, aber damit habe ich mich noch gar nicht beschäftigt und finde irgendwie auch keinen Ansatz/Zugang dazu.
Ich habe folgenden Code im Action-Event des Druckbuttons:
[code]Dim g As Graphics
Dim ps As New PrinterSetup
ps.MaxHorizontalResolution = -1
ps.MaxVerticalResolution = -1
g = OpenPrinterDialog(Nil, Self)
If g <> Nil Then
druckeNoten(g, ps)
End If[/code]
In der Methode druckeNoten steht nun erst einmal testweise nur das Folgende
g.PenWidth = 1
g.PenHeight = 1
g.DrawRect(100,100,200,200)
Weiß vielleicht jemand, wie ich den Code verändern muss, damit ich beim Ausdruck eine möglichst dünne Linie erhalte? (Momentan ist die Linie etwa einen halben Millimeter stark, was viel zu viel ist.) Wenn ich dieses Problem gelöst habe, wird der Rest ein Kinderspiel sein.
(Auf Plugins möchte ich übrigens nicht zurückgreifen, da ich reiner Freizeitprogrammierer bin und mit der Xojo-Lizenz mein Budgetrahmen für dieses Hobby bereits ausgeschöpft ist.)
Vielen Dank im Voraus!
Jens