Hi,
ich ersetze grade eine Form Ausdruck per screenshot in dem ich die Form in einer Grafik nachzeichne um eine bessere Druckqualität zu erreichen.
Dies ist der aktuelle Code, der auch schon ganz passable Ergebnisse liefert:
Nun möchte ich in der Schleife
das text alignment des Controls abfragen und mit dem Wert size.width
den Text korrekt positionieren.
Hier stecke ich fest.
ctrl.textalign gibt es aber nicht und ctrl.text.xxxx führt auch zu nicht sinnvollem ?
Wie komme ich in dieser Schleife an die Positionierung des Textes in dem Control ran, ich würde gerne die mit dem Wert Center" identifizieren.
Vielen Dank vorab für Eure Hilfe.
ich ersetze grade eine Form Ausdruck per screenshot in dem ich die Form in einer Grafik nachzeichne um eine bessere Druckqualität zu erreichen.
Dies ist der aktuelle Code, der auch schon ganz passable Ergebnisse liefert:
VB.NET-Quellcode
- Dim gr As Graphics = e.Graphics
- Dim schwarz As New Pen(Brushes.Black, 1)
- 'Aussenrahmen zeichenn
- Dim marg As Rectangle = e.MarginBounds
- gr.DrawRectangle(schwarz, marg.X, marg.Y, marg.Width, marg.Height)
- 'ALLE Label und Textboxen
- For Each ctrl As Control In Me.Controls
- ' MAGICs müssen HIER noch raus
- Dim pX1 As Integer = CInt(Math.Round((ctrl.Left * 1.25) + MarginLeft ))
- Dim pY1 As Integer = CInt(Math.Round((ctrl.Top * 1.25) + MarginTop ))
- Dim pX2 As Integer = CInt(Math.Round((ctrl.Width * 1.25) ))
- Dim pY2 As Integer = CInt(Math.Round((ctrl.Height * 1.25)))
- 'Pixellänge des Textes ermitteln
- Dim size As SizeF = gr.MeasureString(ctrl.Font.Name, ctrl.Font)
- If TypeOf ctrl Is Label Then
- 'Text
- gr.DrawString(ctrl.Text, New Font(ctrl.Font.Name, ctrl.Font.Size, ctrl.Font.Style), Brushes.Black, pX1, pY1)
- End If
- If TypeOf ctrl Is ComboBox Then
- 'Box
- gr.DrawRectangle(schwarz, pX1, pY1, pX2 , pY2)
- 'Text
- gr.DrawString(ctrl.Text, New Font(ctrl.Font.Name, ctrl.Font.Size, ctrl.Font.Style), Brushes.Black, pX1, pY1)
- End If
- If TypeOf ctrl Is TextBox Then
- 'Box
- gr.DrawRectangle(schwarz, pX1, pY1, pX2, pY2)
- 'Text
- gr.DrawString(ctrl.Text, New Font(ctrl.Font.Name, ctrl.Font.Size + 1, ctrl.Font.Style), Brushes.Black, pX1, pY1)
- End If
- Next
- 'Aufräumen
- gr.Dispose()
Nun möchte ich in der Schleife
das text alignment des Controls abfragen und mit dem Wert size.width
den Text korrekt positionieren.
Hier stecke ich fest.
ctrl.textalign gibt es aber nicht und ctrl.text.xxxx führt auch zu nicht sinnvollem ?
Wie komme ich in dieser Schleife an die Positionierung des Textes in dem Control ran, ich würde gerne die mit dem Wert Center" identifizieren.
Vielen Dank vorab für Eure Hilfe.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Mabbi“ ()