C#动态加载和卸载字体(以文件的方式)

2022-08-12 05:28:24   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《C#动态加载和卸载字体(以文件的方式)》,欢迎阅读!
C#,卸载,加载,字体,方式

C#动态加载和卸载字体(以文件的方式)

2009-07-01 17:18

因为是在CE里,所以是用Coredll PC机用的不是这个,可查MSDN

[DllImport("coredll", EntryPoint = "AddFontResource")]

private static extern int AddFontResource([In,MarshalAs( UnmanagedType.LPWStr)]string fontSource);

[DllImport("coredll", EntryPoint = "SendMessage")]

private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

int installFont = AddFontResource(@"\SDMEM\MSYH.TTF"); //这是字体的安装 返回不为0即成功

SendMessage((IntPtr)0xffff, 0x001d, IntPtr.Zero, IntPtr.Zero); //通知其它正在运行的应用程序,有新字体注册了

//枚举字体

InstalledFontCollection enumFonts = new InstalledFontCollection();

FontFamily[] fonts = enumFonts.Families;

foreach (FontFamily font in fonts)

{

MessageBox.Show(font.Name);

}

如果只是自己的程序使用的话,那么就没必要这么折腾了 :

System.Drawing.Text.PrivateFontCollection privateFonts = new System.Drawing.Text.PrivateFontCollection();

privateFonts.AddFontFile("fileName"); //D:\aa\abc.ttf

System.Drawing.Font font = new Font(privateFonts.Families[0], 12);

(以文件的方式)

2009-07-01 17:18

因为是在CE里,所以是用Coredll PC机用的不是这个,可查MSDN

[DllImport("coredll", EntryPoint = "AddFontResource")]

private static extern int AddFontResource([In,MarshalAs( UnmanagedType.LPWStr)]string fontSource);

[DllImport("coredll", EntryPoint = "SendMessage")]

private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

int installFont = AddFontResource(@"\SDMEM\MSYH.TTF"); //这是字体的安装 返回不为0即成功

SendMessage((IntPtr)0xffff, 0x001d, IntPtr.Zero, IntPtr.Zero); //通知其它正在运行的应用程序,有新字体注册了

//枚举字体

InstalledFontCollection enumFonts = new InstalledFontCollection();

FontFamily[] fonts = enumFonts.Families;

foreach (FontFamily font in fonts)

{

MessageBox.Show(font.Name);

}

如果只是自己的程序使用的话,那么就没必要这么折腾了 :

System.Drawing.Text.PrivateFontCollection privateFonts = new System.Drawing.Text.PrivateFontCollection();

privateFonts.AddFontFile("fileName"); //D:\aa\abc.ttf

System.Drawing.Font font = new Font(privateFonts.Families[0], 12);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/moonshineidolon/archive/2009/12/28/5090538.aspx

本文来源:https://www.wddqxz.cn/57525feeaeaad1f346933f84.html

相关推荐