Hi @all
Ich habe ein Problem mit einem Button, den ich momentan programmiere.
Der Button sieht schon schön aus, aber mit dem Text hapert es noch.
Der Text des Buttons wird überzeichnet, da mein Button Transparenz verwendet, und der Text sonst ja auch transparent ist.
Obwohl ich zum Zeichnen die gleiche Schriftart benutze wie der original Button, wird der Text "irgendwie komisch" angezeigt.
Im Anhang habe ich einen Screenshot, wie der Button momentan aussieht.
Mein Code zum überzeichnen des Textes:
Ich habe ein Problem mit einem Button, den ich momentan programmiere.
Der Button sieht schon schön aus, aber mit dem Text hapert es noch.
Der Text des Buttons wird überzeichnet, da mein Button Transparenz verwendet, und der Text sonst ja auch transparent ist.
Obwohl ich zum Zeichnen die gleiche Schriftart benutze wie der original Button, wird der Text "irgendwie komisch" angezeigt.
Im Anhang habe ich einen Screenshot, wie der Button momentan aussieht.
Mein Code zum überzeichnen des Textes:
VB.NET-Quellcode
- Protected Overrides Sub OnPaint(ByVal pevent As System.Windows.Forms.PaintEventArgs)
- MyBase.OnPaint(pevent)
- Dim strfrmt As New StringFormat
- strfrmt.Alignment = TextAlign
- Dim pntx As New Point(CInt(pevent.ClipRectangle.Location.X), CInt((pevent.ClipRectangle.Height / 2) - (Me.Font.Height / 2)))
- Dim pnt As New Rectangle(pntx, pevent.ClipRectangle.Size)
- With pevent.Graphics
- .SmoothingMode = SmoothingMode.HighQuality
- .CompositingQuality = CompositingQuality.HighQuality
- .CompositingMode = CompositingMode.SourceOver
- .DrawString(Me.Text, Me.Font, New SolidBrush(Me.ForeColor), pnt, strfrmt)
- End With
- End Sub