您的位置:首页 > 其它

wince触摸屏界面定制

2014-03-20 08:03 232 查看

一、克隆







2、修改相关文件

将CalibrUi文件夹下 postlink.dat文件

dir /AD /B %_PROJECTOAKROOT%\files\INTLTRNS >

obj\%_TGTCPU%\%WINCEDEBUG%\clone_locales.txt

改为:

dir /AD /B %_PUBLICROOT%\COMMON\OAK\LIB\%_TGTCPU%\%WINCEDEBUG% >

obj\%_TGTCPU%\%WINCEDEBUG%\clone_locales.txt

3、修补微软漏洞

1、直接用VS2005打开
\WINCE600\PUBLIC\DCOM\CESYSGEN\makefile。

2、通过 CTRL-R, CTRL-W可以显示空格或制表符。

3、用空格替换所有的制表符。

4、保存文件。

4、快速编译pubic下触屏界面代码

sysgen -p common gwes

5、验证编译结果

编译完成后通过VS2005打开gwes.dll文件,查看资源文件即可知晓



6、修改校准语言

通过记事本格式打开CalibrUi_clone.rc,添加或修改原有的校准语言即可

7、提供语言切换接口

a. 支持动态切换,简单配置即可显示不同内容,如下

void
TouchCalibrateUI_DrawMainScreen(
HDC hdc
)
{
UINT IdStringBase;
CalibruiLanguage = *pMapCalibruiPointer;
// Figure out string resources based on whether keyboard is enabled.
switch(CalibruiLanguage)
{
case Chinese_TW:

IdStringBase = IDS_CALIBRATION_CHINESE_TW_MAIN_1;

break;
……

case Spanish:

IdStringBase = IDS_CALIBRATION_SPANISH_MAIN_1;

break;

default:
IdStringBase = IDS_CALIBRATION_CHINESE_MAIN_1;

break;

}
TouchCalibrateDrawScreenText(hdc, C_CALIBRATION1_LINES, IdStringBase);

return;
}
b. 添加需要显示的各种语言版本的内容。

c. 通过进程间通信(内存共享),应用程序可修改语言配置。如下,默认语言为英文

static DWORD CalibruiLanguage = English;
static HANDLE hMapFile;
static PDWORD pMapCalibruiPointer;

hMapFile= CreateFileMapping(HANDLE(0xFFFFFFFF), NULL, PAGE_READWRITE, 0, sizeof(DWORD), _T("Calibrui"));
pMapCalibruiPointer = (PDWORD) MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 0);

注意事项

1、编译。

如果是调试的话,可通过命令行快速编译,修改好后需要sysgen,否则下次使用copy
files to release floder动作时,将会使用上次sysgen的gwes.dll文件。

2、ID冲突。

注意这些ID不要和其它的gwes
ID有冲突,若占用了gwes的一些ID,如提示信息“确定”,“取消”,可能会显示到触摸屏某些提示的内容。

3、命名。

不要移动移植后的代码,也不要更改移植后的文件夹得名字。

4、移植。

克隆好代码其它wince平台可直接使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: