0
我試圖嵌入字體使用下面的代碼,我發現從這個網站,但正如我試圖建立,我不斷遇到錯誤'DIGITALDREAMNARROW' is not a member of 'Resources'.
。任何人都可以幫助我在哪裏做到這一點:如何嵌入用於Visual Basic項目的字體?
即使我已將字體添加到資源文件夾。有什麼我失蹤?
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
我下載了程序的源代碼,它工作正常,但是當我再試我的結束,我得到的錯誤。誰能幫忙?
它說你需要將UseCompatibleTextRendering屬性設置爲true(默認爲false),你做到了這一點? – Standage 2012-03-06 18:52:35
這不會產生錯誤,但是,它們設置爲true。我收到的具體錯誤是「'DIGITALDREAMNARROW'不是」資源「的成員。」 – 2012-03-06 18:54:28
聽起來像需要使用「添加資源\添加現有文件」將其添加到「我的項目\資源」中。 – 2012-03-06 19:24:01