C++实例(程序界面文字换肤方法)

C++实例(程序界面文字换肤方法),第1张

C++实例(程序界面文字换肤方法),第2张

对于GUI程序,界面上会呈现很多图片和文字信息。一般来说,图像是在运行时从外部加载的,所以很容易替换它们。然而,在大多数情况下,文本信息直接写在程序代码中。这种情况下,如果要修改文本,需要重新编译程序,非常不方便。介绍了一种在程序界面中进行字符换肤的方法,该方法无需重新编译程序即可实现方便的字符换肤功能,可用于OEM或多语言的场合。
1。字典库
所有界面中呈现的字符都存储在这个字典库中,字典库是一个独立于程序的文件。该文件可以是纯文本、加密文本、动态链接库或任何其他形式。当程序运行时,从字典中读取所需的文本信息。因此,当需要修改相关接口文本时,只需要修改字典然后发布即可,应用程序不需要修改和重新编译。比如APP . DIC:
[APP]
APP _ name =程序名
APP_CAPTION=程序标题
APP_VERSION=程序版本
APP_COPYRIGHT=程序版权
2函数原型可以是:
char * get _ dictionary(char * dictionary,char * section,char * key);
其中dictionary是词典文件名;是版块名称,比如上面的【app】;Key标识指定的文本信息;返回值是字典中相应的文本信息。至于具体实施,可以根据实际情况确定。其实很多开发工具都提供了类似的API,我们只需要简单的打包就可以了。
3。在程序中调用
使用文本信息时,只需调用get_dictionary()即可获取所需文本。考试。大提示在某些情况下,有必要使用常量形式的文字信息,比如在初始化结构或类时。此时,无法使用API。但是我们可以用宏定义来达到这个目的。宏的定义类似于以下形式:
# define GET _ DICTIONARY(key)GET _ DICTIONARY(" app . DIC "," app ",key)
。这样,我们可以使用get _ dictionary为常量和变量字符串赋值。
4、一个简单的例子
/*
* DEMO . DIC
*/[DEMO]
DEMO _ zh =这是一个演示
DEMO _ br/]*/
# ifndef _ DICT _ H
# define _ DICT _ H
inline Char * GET _ DICTIONARY(Char * DICTIONARY,char *section,Char *key)
{
//根据
printf("%s\n ",GET _ DICTIONARY(" DEMO _ US "));
返回0;
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++实例(程序界面文字换肤方法)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情