vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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
Re: Codegenerierung 
Autor: Caddy
Datum: 20.08.12 08:05

Hi Manfred,

ja ich habe ein CustomControl das von Label erbt. für dieses Control habe ich eine Funktion geschrieben:

 Public Sub SetTextLayout(ByVal Size As Integer, ByVal align As _
   ContentAlignment)
        Me.FontSizer = Size
        Me.TextAlign = align
    End Sub
Dazu habe ich eine weitere Funktion:
  Private Function SetTextFormat() As StringFormat
        Dim drawFormat As New StringFormat
 
        Select Case Me.TextAlign
            Case ContentAlignment.BottomCenter
                drawFormat.Alignment = StringAlignment.Center
                drawFormat.LineAlignment = StringAlignment.Far
            Case ContentAlignment.BottomLeft
                drawFormat.Alignment = StringAlignment.Near
                drawFormat.LineAlignment = StringAlignment.Far
            Case ContentAlignment.BottomRight
                drawFormat.Alignment = StringAlignment.Far
                drawFormat.LineAlignment = StringAlignment.Far
            Case ContentAlignment.MiddleCenter
                drawFormat.Alignment = StringAlignment.Center
                drawFormat.LineAlignment = StringAlignment.Center
            Case ContentAlignment.MiddleLeft
                drawFormat.Alignment = StringAlignment.Near
                drawFormat.LineAlignment = StringAlignment.Center
            Case ContentAlignment.MiddleRight
                drawFormat.Alignment = StringAlignment.Far
                drawFormat.LineAlignment = StringAlignment.Center
            Case ContentAlignment.TopCenter
                drawFormat.Alignment = StringAlignment.Center
                drawFormat.LineAlignment = StringAlignment.Near
            Case ContentAlignment.TopLeft
                drawFormat.Alignment = StringAlignment.Near
                drawFormat.LineAlignment = StringAlignment.Near
            Case ContentAlignment.TopRight
                drawFormat.Alignment = StringAlignment.Far
                drawFormat.LineAlignment = StringAlignment.Near
            Case Else
                drawFormat.Alignment = StringAlignment.Near
                drawFormat.LineAlignment = StringAlignment.Near
 
        End Select
 
        Return drawFormat
    End Function
und in der Paint-Methode nutze ich dann sowas:



Dim DrawFormat As StringFormat
DrawFormat = SetTextFormat()
 e.Graphics.DrawString(text1, Me.Font, New SolidBrush(Color.Black), drawRect, _
   DrawFormat)
Ich bin davon ausgegangen, dass ich den Wert für Textalign nicht explizit setzen muss, da das ParentControl ja diese Eigenschaft hat und ich sie ja nicht überschreibe, sondern nur abfrage, insofern ich die Funktion "SetTextLayout" nicht ausführe.

Textalign steht ja standardmäßig auf "TopLeft".

So soll es ja auch bleiben, ausser ich will es axplizit ändern, per Codeeingabe.

Gruss Caddy

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Codegenerierung1.928Caddy20.08.12 02:47
Re: Codegenerierung1.341Manfred X20.08.12 07:46
Re: Codegenerierung1.660Caddy20.08.12 08:05
Re: Codegenerierung1.312Caddy21.08.12 00:05

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