我正在尝试使用Visual STDIO 2008 Pro和.net 2.0的CEN Windows CE 5.0设备为Windows CE 5.0设备开发智能设备程序。我想使用AddFontresourceex添加字体,但我无法正常工作。这是代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private const uint FR_PRIVATE=0x10;
[DllImport("GDI32.dll",EntryPoint="AddFontResourceEx")]
static extern int AddFontResourceEx(string lpszFilename, uint fl, IntPtr pdv);
private void button1_Click(object sender, EventArgs e)
{
AddFontResourceEx(".\ELEPHNT.TTF", FR_PRIVATE, IntPtr.Zero);
label1.ForeColor = Color.FromArgb(155, 25, 34);
label1.Font = new Font("ELEPHNT.TTF", 18, FontStyle.Regular);
label1.Text = "Hello world!";
}
}
它可以成功地构建,我可以运行该程序,但是字体不会更改。我将字体文件添加到程序所在的同一目录中。你能告诉我怎么了吗?
您不能在C#代码中使用C 声明,您需要使用PINVOKE和兼容数据类型:http://www.pinvoke.net/search.aspx?search = addfontresource&namespace= [all]在Windows CE中没有相对路径,因此您必须使用字体文件的完整路径,从。