vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Fortgeschrittene
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Display und Druck 
Autor: Rainer
Datum: 25.12.17 13:09

und Variante 2:

   ''' <summary>
   ''' Misst die Zeichenfolge TEXT, wenn diese mit der angegebenen SCHRIFT 
   ' dargestellt wird. Bei Vorgabe einer
   '''  verfügbaren BREITE des Darstellungsbereiches ist das Funktionsergebnis 
   ' die erforderliche Bereichshöhe.
   '''  Mit Hilfe der Felder SizeDispl (Ausgabemdium "PrintPreviewControl") und 
   ' SizePrint (Ausgabemedium "Drucker"), die
   '''  als Class-Variable im Datentyp SIZEF definiert sind, wird eine 
   ' abweichende Berechnung der erforderlichen Breite
   '''  und Höhe ermittelt. Das Ausgabemedium "PrintPreviewControl" hat in 
   ' diesem Vergleich das Primat. Der für das
   '''  Ausgabemedium "Drucker" mit der Graphics-Funktion MEASURSTRING 
   ' ermittelte Wert wird mit dem in der Variablen
   '''  hinterlegten Korrekturfaktor angepaßt.
   '''  Die Funktion setzt voraus, daß jeder Ausgabe auf das Medium "Drucker" 
   ' eine Ausgabe auf das Medium
   '''  "PrintPreviewControl" oder "PrintPreviewDialog" vorausgeht.
   ''' </summary>
   ''' <param name="Grafik">Verbindungsglied zum Ereignisargument e.Graphics 
   ' in der Ereignisroutine PRINTDOCUMENT.PRINTPAGE</param>
   ''' <param name="Text">Der im Ausgabemedium darzustellende Text.</param>
   ''' <param name="Schrift">Die FONT-Einstellungen, die bei der 
   ' TEXT-Darstellung Verwendung finden.</param>
   ''' <param name="Breite">Pflichtangabe eines einzuhaltenden Bereiches in 
   ' Grafikpunkte.</param>
   ''' <returns>Beschreibung des Raumes (Höhe und Breite), der zur 
   ' Darstellung von TEXT benötigt wird.</returns>
   Friend Shared Function _MeasureStringKorr(ByVal Grafik As _
     System.Drawing.Graphics, _
                                             ByVal Text As String, _
                                             ByVal Schrift As _
                                             System.Drawing.Font, _
                                             ByVal Breite As SizeF) As SizeF
      Dim _Font As System.Drawing.Font
      Dim _Ber As SizeF
 
      If (SizeFakt.Width = 0 And SizeFakt.Height = 0) Then              ' Wurde 
      ' der Korrekturfaktor bereits berechnet?
         If Not IsPrinterOut AndAlso _
            (SizeDispl.Width = 0 And SizeDispl.Height = 0) Then            ' ( 
            ' NEIN) Musterwerte für PrintPreviewControl ermittelt?
            _Font = New Font("Arial", 11, FontStyle.Regular)                  ' 
            ' (NEIN)
            SizeDispl = Grafik.MeasureString("GM gm", _Font)                  ' 
            ' Musterwerte für PrintPreviewControl ermitteln
         End If
         If IsPrinterOut AndAlso _
            (SizePrint.Width = 0 And SizePrint.Height = 0) Then            ' ( 
            ' JA) Musterwerte für Drucker ermittelt?
            _Font = New Font("Arial", 11, FontStyle.Regular)                  ' 
            ' (NEIN)
            SizePrint = Grafik.MeasureString("GM gm", _Font)                  ' 
            ' Musterwerte für Drucker ermitteln
         End If
         If (SizeDispl.Width <> 0 And SizeDispl.Height <> 0) AndAlso _
            (SizePrint.Width <> 0 And SizePrint.Height <> 0) Then         _
             ' Musterwerte für die Ausgabemedien ermittelt?
            SizeFakt.Width = ((SizeDispl.Width - SizePrint.Width) / _
            SizePrint.Width) + 1 ' (NEIN) Korrekturfaktoren berechnen
            SizeFakt.Height = ((SizeDispl.Height - SizePrint.Height) / _
            SizePrint.Height) + 1
         End If
      End If
      If IsPrinterOut Then                                              ' 
      ' Ausgabemedium Drucker?
         If (SizeFakt.Width <> 0 And SizeFakt.Height <> 0) Then           _
            ' (JA) Wurde der Korrekturfaktor bereits berechnet?
            If (Breite.Width > 0 Or Breite.Height > 0) Then               _
                ' (JA) vorgegebene Druckbreite?
               _Ber = Grafik.MeasureString(Text, _
                                           Schrift, _
                                           New SizeF(Breite.Width / _
                                           SizeFakt.Width, _
                                                     Breite.Height / _
                                                     SizeFakt.Height)) ' (JA) 
            Else
               _Ber = Grafik.MeasureString(Text, Schrift)                       _
                  ' (NEIN)
            End If
            Return New SizeF(_Ber.Width * SizeFakt.Width, _Ber.Height * _
              SizeFakt.Height)
         End If
      End If
      If (Breite.Width > 0 Or Breite.Height > 0) Then                   ' 
      ' vorgegebene Druckbreite?
         Return Grafik.MeasureString(Text, Schrift, Breite)                ' ( 
         ' JA)
      Else
         Return Grafik.MeasureString(Text, Schrift)                        ' ( 
         ' NEIN)
      End If
   End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Schrifthöhe mit Graphics-Funktion "MeasureString" für Displa...1.750Rainer19.12.17 17:01
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.077sv0001020.12.17 19:40
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.108Kuno6021.12.17 00:36
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.109Manfred X21.12.17 09:08
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.202Franki23.12.17 04:20
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.222Manfred X23.12.17 11:09
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.101Rainer25.12.17 13:02
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.143Rainer25.12.17 13:04
Re: Schrifthöhe mit Graphics-Funktion "MeasureString" für Di...1.140Rainer25.12.17 13:09

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-2024 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