我正在为基于WINDOWS CE5.0的设备开发应用程序。它要求完全使用ORIYA语言(INDIAN REGIONAL LANGUAGE)。视觉工作室使用ENGLISH作为标准语言,请告诉我如何进行?我试图在WINDOWS CE设备的WINDOWS / FONTS文件夹中复制字体,但是当我重启设备时,字体文件消失了。我在c#中开发了应用程序,并在开发系统中将标签文本更改为oriyaa。它在开发系统上看起来很好但是当我将它部署到设备中时,所有标签文本都以英文显示。我不知道发生了什么事?我还需要在ORIYA语言中设置LABEL.TEXT属性。可能吗?如何在ORIYA中获取用户输入?请帮忙.....谢谢...
答案 0 :(得分:1)
不太确定浏览器的含义,但Forms
可以使用PrivateFontCollection
您可以从应用中的文件夹加载字体,然后使用
根据您的需要AddFontFile
或AddMemoryFont
。因此,现在客户端可以看到您设置的字体中的控件及其可用的控件,无论其是否已安装
答案 1 :(得分:0)
我使用以下方法使用基于英语的字体,但我不确定它是否适用于您的情况。这种方法的原始来源是来自Chris Tacke(SO用户@ctacke)的nice post,并进行了一些修改。
[DllImport("coredll.dll")]
private static extern int AddFontResource(string lpszFilename);
[DllImport("coredll.dll", SetLastError = true)]
private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
static IntPtr HWND_BROADCAST = (IntPtr)0xFFFF;
const int WM_Fontchange = 0x001D;
private static void RegisterFont(string aFontPath, string aTargetFontPath)
{
IntPtr thir = (IntPtr)0;
IntPtr fourth = (IntPtr)0;
try
{
if (!System.IO.File.Exists(aTargetFontPath))
System.IO.File.Copy(aFontPath, aFontTargetPath);
}
catch { throw; }
int _Loaded = AddFontResource(aFontTargetPath);
if (_Loaded != 0)
SendMessage(HWND_BROADCAST, WM_Fontchange, thir, fourth);
}