Gewusst wie: einbetten von Schriftarten für die Verwendung in einem Visual Basic-Projekt?

Ich versuche eine schriftart einbinden mit dem folgenden code, den ich gefunden, die von dieser Website, aber als ich versuche zu bauen, ich laufen in einen Fehler 'DIGITALDREAMNARROW' is not a member of 'Resources'.. Kann mir jemand helfen mit wo ich bin, dies zu tun:

Obwohl ich die Schrift Hinzugefügt, um einen Ordner Ressourcen. Gibt es etwas, was ich bin fehlt?

http://zerosandtheone.com/blogs/vb/archive/2009/11/20/vb-net-include-a-font-as-an-embedded-resource-in-your-application.aspx

Imports System.Drawing.Text
Imports System.Runtime.InteropServices

Module CustomFont

'PRIVATE FONT COLLECTION TO HOLD THE DYNAMIC FONT
Private _pfc As PrivateFontCollection = Nothing


Public ReadOnly Property GetInstance(ByVal Size As Single, _
                                     ByVal style As FontStyle) As Font
    Get
        'IF THIS IS THE FIRST TIME GETTING AN INSTANCE
        'LOAD THE FONT FROM RESOURCES
        If _pfc Is Nothing Then LoadFont()

        'RETURN A NEW FONT OBJECT BASED ON THE SIZE AND STYLE PASSED IN
        Return New Font(_pfc.Families(0), Size, style)

    End Get
End Property

Private Sub LoadFont()
    Try
        'INIT THE FONT COLLECTION
        _pfc = New PrivateFontCollection

        'LOAD MEMORY POINTER FOR FONT RESOURCE
        Dim fontMemPointer As IntPtr = _
            Marshal.AllocCoTaskMem( _
            My.Resources.DIGITALDREAMNARROW.Length)

        'COPY THE DATA TO THE MEMORY LOCATION
        Marshal.Copy(My.Resources.DIGITALDREAMNARROW, _
                     0, fontMemPointer, _
                     My.Resources.DIGITALDREAMNARROW.Length)

        'LOAD THE MEMORY FONT INTO THE PRIVATE FONT COLLECTION
        _pfc.AddMemoryFont(fontMemPointer, _
                           My.Resources.DIGITALDREAMNARROW.Length)

        'FREE UNSAFE MEMORY
        Marshal.FreeCoTaskMem(fontMemPointer)
    Catch ex As Exception
        'ERROR LOADING FONT. HANDLE EXCEPTION HERE
    End Try

End Sub

End Module

Ich heruntergeladen habe, seine Programm-source-code und es funktioniert gut, aber wenn ich versuchen es auf meinem Ende, ich bekomme Fehler. Kann mir jemand helfen?

  • Ihr sagt, dass Sie brauchen, um die UseCompatibleTextRendering-Eigenschaft auf true (Standard ist false), haben Sie das getan?!
  • Das ist nicht die Erzeugung der Fehler-aber ja, Sie sind auf true gesetzt. Die spezifischen Fehler, die ich bekommen hab ist "'DIGITALDREAMNARROW' ist nicht ein Mitglied von 'Ressourcen'."
  • Klingt wie Sie brauchen, um es in 'My Project\Resources' mit der 'Ressource Hinzufügen\Hinzufügen Vorhandene Datei'.
Schreibe einen Kommentar