Högerställd text vid utskrift
Hej!
Är det någon som vet om det överhuvudtaget går att få högerställd text vid utskrift i vb net/2010 express.
Har letat men kan inte hitta något om detta bara .center och far samt Near men det verkar vara samma som top, center och botten i en ruta.
Jag vill skriva ut summa med decimalen.
/Tobbe
Svara
Sv: Högerställd text vid utskrift
Finns säkert massor med sätt att lösa det på. Här är ett som använder PrintDocument:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | ' Form1.vb Private Sub PrintIt() Dim dialog As New PrintDialog If (dialog.ShowDialog = Windows.Forms.DialogResult.OK) Then Dim doc As New TestDocument doc.PrinterSettings = dialog.PrinterSettings doc.Text = "Detta står till höger" doc.Print() End If End Sub 'TestDocument.vb Imports System.Drawing.Printing Public Class TestDocument Inherits PrintDocument Public Sub New () MyBase . New () Text = String .Empty TextFont = New Font( "Calibri" , 12) End Sub Public Property Text As String Public Property TextFont As Font Protected Overrides Sub OnPrintPage(e As PrintPageEventArgs) MyBase .OnPrintPage(e) Dim format As New StringFormat(StringFormatFlags.NoWrap) Dim pagePrintableArea = GetPrintableArea(DefaultPageSettings) PrintRight(Text, pagePrintableArea, e.Graphics) End Sub Private Sub PrintRight(txt As String , printableArea As RectangleF, g As Graphics) Dim textSize = g.MeasureString(txt, TextFont, printableArea.Width) Dim leftPadding = printableArea.Width - textSize.Width Dim textOrigin = New PointF(printableArea.X + leftPadding, printableArea.Y) g.DrawString(txt, TextFont, Brushes.Black, textOrigin) End Sub Private Function GetPrintableArea(settings As PageSettings) As RectangleF Dim height = settings.PaperSize.Height - (settings.Margins.Top + settings.Margins.Bottom) Dim width = settings.PaperSize.Width - (settings.Margins.Left + settings.Margins.Right) Return New RectangleF(settings.Margins.Left, settings.Margins.Top, width, height) End Function End Class |
Svara
Sv:Högerställd text vid utskrift
Hej och tack för svaret.
Jag använder denna kod för att skriva ut .
e.Graphics.DrawString(DataGridView1.Item(5, i).Value, font1, Brushes.Black, 700, 200)
Får inte riktigt till det hur jag ska få in din kod för detta.
Tobbe
Svara
Sv:Högerställd text vid utskrift
Med DrawString() så styr du positionen inom utskriftsområdet själv (i ditt fall x=700, y=200). Det du behöver göra för en snygg högerjustering är att mäta hur stort plats din text kommer ta (genom att använda en lämplig variant av MeasureString()), och därefter anpassa vilka koordinater du skickar till DrawString().
Svara