vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
DrawString über mehrere Controls 
Autor: Kanngarnix
Datum: 15.05.08 15:19

Hi,

ich habe ein Problem wo ich einfach keine Lösung zu finde.

Ich habe eine Form mit mehreren Groupboxen wo Informationen zu bestimmten durchgeführten Schritten stehen.

Nun möchte ich über die gesamte Form (diagonal) das Wort "Demoversion" haben.

Dies habe ich auch schon realisiert(Graphics.DrawString...), jedoch mit dem Schönheitsfehler das dieses Wort unter den Groupboxen mit den Labeln steht.

Das kommt dadurch das ich mir ja das Grafikobjekt von der Form, im Paint Ereignis, hole.

Gibt es jetzt eine Möglichkeit das Grafikobjekt über die Controls zu bekommen?

Anbei der Code zum anzeigen des Demo String


Danke

 
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
 
        MyBase.OnPaint(e)
 
        ' Brush-Objekt mit halbtransparenter Farbe
        Dim br As New SolidBrush(Color.FromArgb(100, Color.Black))
 
        Dim Displaytext as String = "Demoversion"
 
        ' String-Format-Objekt für zentriertet Ausgabe
        Dim sf As New StringFormat
        sf.Alignment = StringAlignment.Center
        sf.LineAlignment = StringAlignment.Center
 
        Dim iWidth As Integer
        Dim sWinkel As Single
 
        ' Diagonale holen
        iWidth = Get_Width(Me.Height, Me.Width)
 
        ' Winkel holen
        sWinkel = Get_Winkel(iWidth, Me.Height)
 
        ' Menue abziehen
        iWidth = iWidth - 50
 
        ' Text drehen
        e.Graphics.RotateTransform(sWinkel - 3)
 
        ' Text zeichnen 
        e.Graphics.DrawString(Displaytext, Label1.Font, br, New RectangleF( _
        50, 0, iWidth - 10, 30), sf)
 
        ' Umrandung zeichnen
        'oGraphics.DrawRectangle(Pens.Gray, New Rectangle(80, 0, iWidth - 10, 
        ' 30))
 
        ' Aufräumen
        sf.Dispose()
        br.Dispose()
 
 
 
    End Sub
 
 
 
 Private Function Get_Width(ByVal iHeight As Integer, ByVal iWidth As Integer) _
   As Integer
 
        Dim ddiagonale As Double = 0
        Dim iReturnValue As Integer = 0
 
        ' Diagonale ausrechnen 
        ddiagonale = Convert.ToDouble((iHeight * iHeight)) + Convert.ToDouble(( _
          iWidth * iWidth))
        ' Wurzel ziehen
        Dim dErgebnis As Double = Math.Sqrt(ddiagonale)
        ' Rückgabe casten
        iReturnValue = Convert.ToInt32(dErgebnis)
 
        Return iReturnValue
 
 
    End Function
 
 
 Private Function Get_Winkel(ByVal iWidth As Integer, ByVal iHeight As Integer) _
   As Single
 
        Dim iReturnValue As Single = 0
        Dim dSinusWert As Double = 0
        Dim dWinkel As Double = 0
 
        ' Sinuswert vom Winkel ermitteln
        dSinusWert = iHeight / iWidth
 
        ' Winkel aus Sinuswert ermitteln
        dWinkel = Math.Asin(dSinusWert) * 180 / Math.PI
        ' Rückgabe casten
        iReturnValue = Convert.ToSingle(dWinkel)
 
        Return iReturnValue
 
    End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DrawString über mehrere Controls2.369Kanngarnix15.05.08 15:19
Re: DrawString über mehrere Controls1.951ModeratorDieter15.05.08 15:24
Re: DrawString über mehrere Controls1.840Kanngarnix15.05.08 15:52
Re: DrawString über mehrere Controls1.884icetea12315.05.08 17:31
Re: DrawString über mehrere Controls1.865Kanngarnix16.05.08 09:19
Re: DrawString über mehrere Controls2.049mikeb6915.05.08 21:50
Re: DrawString über mehrere Controls1.840Kanngarnix16.05.08 09:28
Re: DrawString über mehrere Controls1.967Kanngarnix20.05.08 10:16
Re: DrawString über mehrere Controls1.858ModeratorDieter20.05.08 10:23
Re: DrawString über mehrere Controls1.832Kanngarnix20.05.08 10:42
Re: DrawString über mehrere Controls1.827Kanngarnix20.05.08 13:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel