LogFont-Klasse

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Definiert die Merkmale einer Schriftart zum Erstellen von gedrehten Texteffekte.

Namespace:  Microsoft.WindowsCE.Forms
Assembly:  Microsoft.WindowsCE.Forms (in Microsoft.WindowsCE.Forms.dll)

Syntax

'Declaration
Public Class LogFont
'Usage
Dim instance As LogFont
public class LogFont
public ref class LogFont
type LogFont =  class end

Hinweise

Diese Klasse entspricht der Struktur systemeigene Windows CE LOGFONT (logische Schriftart), bietet die Möglichkeit, gewinkelter erstellen und andere Texteffekte.Werte für einige der LogFont Felder werden durch die in der folgenden Tabelle beschriebenen Enumerationen definiert.

-Enumeration

Beschreibung

CharSet

Gibt den Zeichensatz der Schriftart an.

ClipPrecision

Gibt an, wie ClipArt-Zeichen, die sich teilweise außerhalb des Ausschneidebereichs.

PitchAndFamily

Gibt die Schriftartfamilie, die die Schriftart in einer allgemeinen Weise beschreibt.

OutPrecision

Gibt an, wie genau die Ausgabe die angeforderte Höhe, Gewicht und anderen Attributen einer Schriftart übereinstimmen muss.

Quality

Gibt die Qualität der Schriftart an.

Weight

Gibt die Gewichtung der Schriftart an.

Um gedrehten Text zu erstellen, erstellen Sie eine Instanz der Klasse LogFont , und legen Sie das Escapement Feld auf den gewünschten Drehwinkel.Beachten Sie, dass Escapement den Winkel in Zehntel einen Grad; angibtSie würden für einen 45-Grad-Winkel 450 angeben.

Das Escapement-Feld gibt den Vorschub und Ausrichtung.Escapement und Orientation sollte auf den gleichen Wert festgelegt werden.

Die Schriftartzuordnung, eine Komponente von Windows CE, sucht die physikalische Schriftart, die für die HeightWeight Felder und angegebene Werten am ehesten entspricht.

Beispiele

Im folgenden Codebeispiel veranschaulicht eine LogFont definieren, sodass der Text diagonal über den Bildschirm verläuft.

Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports Microsoft.WindowsCE.Forms

PublicClass Form1
    Inherits System.Windows.Forms.Form

    ' Declare objects to draw the text.Private rotatedFont As System.Drawing.Font
    Private redBrush As SolidBrush

    ' Specify the text to roate, the rotation angle,    ' and the base font.Private rTxt AsString = "abc ABC 123"Private rAng AsInteger = 45

    ' Determine the vertial DPI setting for scaling the font on the    ' device you use for developing the application.     ' You will need this value for properly scaling the font on    ' devices with a different DPI.    ' In another application, get the DpiY property from a Graphics object     ' on the device you use for application development:    '     '   Dim g As Graphics = Me.CreateGraphics()    '   Dim curDPI As Integer = g.DpiYPrivateConst curDPI AsInteger = 96

    ' Note that capabilities for rendering a font are     ' dependant on the device.Private rFnt AsString = "Arial"PublicSubNew()
        MyBase.New()

        ' Display OK button to close application.Me.MinimizeBox = FalseMe.Text = "Rotated Font"
        ' Create rotatedFont and redBrush objects in the custructor of        ' the form so that they can be resued when the form is repainted.Me.rotatedFont = CreateRotatedFont(rFnt, rAng)
        Me.redBrush = New SolidBrush(Color.Red)
    EndSub
    ' Method to create a rotated font using a LOGFONT structure.PrivateFunction CreateRotatedFont(ByVal fontname AsString, _
        ByVal angleInDegrees AsInteger) As Font

        Dim logf As LogFont = New Microsoft.WindowsCE.Forms.LogFont

        ' Create graphics object for the form, and obtain        ' the current DPI value at design time. In this case,        ' only the vertical resolution is petinent, so the DpiY        ' property is used. Dim g As Graphics = Me.CreateGraphics

        ' Scale an 18-point font for current screen vertical DPI.
        logf.Height = Fix(-18.0F * g.DpiY / curDPI)

        ' Convert specified rotation angle to tenths of degrees.
        logf.Escapement = (angleInDegrees * 10)

        ' Orientation is the same as Escapement in mobile platforms.
        logf.Orientation = logf.Escapement

        logf.FaceName = fontname

        ' Set LogFont enumerations.
        logf.CharSet = LogFontCharSet.Default
        logf.OutPrecision = LogFontPrecision.Default
        logf.ClipPrecision = LogFontClipPrecision.Default
        logf.Quality = LogFontQuality.ClearType
        logf.PitchAndFamily = LogFontPitchAndFamily.Default
        ' Explicitly dispose any drawing objects created.
        g.Dispose()

        Return System.Drawing.Font.FromLogFont(logf)
    EndFunctionProtectedOverridesSub OnPaint(ByVal e As PaintEventArgs)
        If (Me.rotatedFont IsNothing) ThenReturnEndIf        ' Draw the text to the screen using the LogFont, starting at        ' the specified coordinates on the screen.
        e.Graphics.DrawString(rTxt, Me.rotatedFont, Me.redBrush, _
            75, 125, New StringFormat( _
            (StringFormatFlags.NoWrap Or StringFormatFlags.NoClip)))
    EndSubProtectedOverridesSub Dispose(ByVal disposing AsBoolean)

        ' Dispose created graphic objects. Although they are         ' disposed by the garbage collector when the application        ' terminates, a good practice is to dispose them when they        ' are no longer needed.Me.redBrush.Dispose()
        Me.rotatedFont.Dispose()
        MyBase.Dispose(disposing)
    EndSubPublicSharedSub Main()
        Application.Run(New Form1)
    EndSubEndClass
using System;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.WindowsCE.Forms;

namespace LogFontDemo
{
    publicclass Form1 : System.Windows.Forms.Form
    {
        // Declare objects to draw the text.
        Font rotatedFont;
        SolidBrush redBrush;

        // Specify the text to roate, the rotation angle,// and the base font.privatestring rTxt = "abc ABC 123";
        privateint rAng = 45;

    // Determine the vertial DPI setting for scaling the font on the // device you use for developing the application.// You will need this value for properly scaling the font on// devices with a different DPI.// In another application, get the DpiY property from a Graphics object // on the device you use for application development:// //   Graphics g = this.CreateGraphics();//   int curDPI = g.DpiY;privateconstint curDPI = 96;

        // Note that capabilities for rendering a font are// dependant on the device.privatestring rFnt = "Arial";

        public Form1()
        {
            // Display OK button to close application.this.MinimizeBox = false;
            this.Text = "Rotated Font";

            // Create rotatedFont and redBrush objects in the custructor of// the form so that they can be resued when the form is repainted.this.rotatedFont = CreateRotatedFont(rFnt, rAng);
            this.redBrush    = new SolidBrush(Color.Red);
        }

        // Method to create a rotated font using a LOGFONT structure.
        Font CreateRotatedFont(string fontname, int angleInDegrees)
        {
            LogFont logf = new Microsoft.WindowsCE.Forms.LogFont();

            // Create graphics object for the form, and obtain// the current DPI value at design time. In this case,// only the vertical resolution is petinent, so the DpiY// property is used. 

            Graphics g = this.CreateGraphics();
            // Scale an 18-point font for current screen vertical DPI.
            logf.Height = (int)(-18f * g.DpiY / curDPI);

            // Convert specified rotation angle to tenths of degrees.  
            logf.Escapement = angleInDegrees * 10;

            // Orientation is the same as Escapement in mobile platforms.
            logf.Orientation = logf.Escapement;

            logf.FaceName = fontname;

            // Set LogFont enumerations.
            logf.CharSet        = LogFontCharSet.Default;
            logf.OutPrecision   = LogFontPrecision.Default;
            logf.ClipPrecision  = LogFontClipPrecision.Default;
            logf.Quality        = LogFontQuality.ClearType;
            logf.PitchAndFamily = LogFontPitchAndFamily.Default;

            // Explicitly dispose any drawing objects created.
            g.Dispose();

            return Font.FromLogFont(logf);
        }

        protectedoverridevoid OnPaint(PaintEventArgs e)
        {
            if(this.rotatedFont == null)
                return;

            // Draw the text to the screen using the LogFont, starting at// the specified coordinates on the screen.
            e.Graphics.DrawString(rTxt,
                this.rotatedFont,
                this.redBrush,
                75,
                125,
                new StringFormat(StringFormatFlags.NoWrap |
                     StringFormatFlags.NoClip));
        }

        protectedoverridevoid Dispose(bool disposing)
        {

            // Dispose created graphic objects. Although they are // disposed by the garbage collector when the application// terminates, a good practice is to dispose them when they// are no longer needed.this.redBrush.Dispose();
            this.rotatedFont.Dispose();
            base.Dispose(disposing);
        }

        staticvoid Main()
        {
            Application.Run(new Form1());
        }
    }
}

Vererbungshierarchie

System.Object
  Microsoft.WindowsCE.Forms.LogFont

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC

Die .NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET framework.

Versionsinformationen

.NET Compact Framework

Unterstützt in: 3.5, 2.0

Siehe auch

Referenz

Member LogFont

Microsoft.WindowsCE.Forms-Namespace