【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《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