5.Emwin控件显示中文
Emwin模拟器控件(text、radio、multiedi、dropdown等)显示中文(移植GUI到32单片机上也可以正常显示)
我这个办法可以在pc模拟器上显示中文,同时界面做好了中文显示之后,要移植到32上面无需重新制在32上显示中文的字库,移植成功后可以直接在屏幕上显示中文,和pc的一样显示,
当然,也有缺点,就是如果想要添加新的字,那就要重新制作这个文件库。两个都要,所以这是比较麻烦的
1.准备工具:
平台:VS(本人VS2013)
1.Unicode编码的txt文本文件(win10是“UTF-16 LE”)
2.UTF-8 编码的txt文本文件(win10是“带BOM的UT”)
内容可以自己定,但是两个内容要一致
3.GUIbuilder 软件
4.emWin Font Converter
5.U2C
没有这些工具的可以自己去Emwin官网下载(需注册)
首先第一步,先用GUIbuilder先生成一个界面,包含好几个控件
生成代码后先加入到VS工程里面
2.生成字库
1.先打开准备好的emWin Font Converter按照以下步骤操作
选择standard ok
选自己需要的字体、大小、类型
这里我自己选择宋体 ,粗体,18x18大小
选择 Pixels
然后禁用所有字符,当然你可以不禁用,但是生成的c文件就是全字库,很大
然后使能一部分字符范围是0-7F 就是包含日常使用的数字、标点符号、字母等。
范围:0-7F
然后读取你自己刚刚生成的字库(Unicode编码的txt文本文件)
然后另存为,名字最好是英文。
2.用U2C这个软件把UTF8编码的txt文件转化成c文件,名字和之前的一样。
生成c文件
然后打开这个txt文本和对应的c文本,如图
然后对生成的c文件进行处理,左右对应标上标注
用const char XXX []= 给他命名,
好了字库的制作到这里就算完成了,接下来就要把c字库添加到vs工程里面了
3.添加字库到工程里
添加之前制作好的界面c文件
添加好了之后先把工程调好能够模拟器运行
然后打开字库的c文件,很明显可以看到字了,就是我们刚刚设置的
然后把这句
extern GUI_CONST_STORAGE GUI_FONT GUI_FontSongFront18;//每个文件因为命名不同,这句话都有所不同
复制粘贴到界面的c文件
并且把刚刚转换好的UTF8的c文件里的复制过来
extern GUI_CONST_STORAGE GUI_FONT GUI_FontSongFront18;const char time[] = "\xe6\x97\xb6\xe9\x97\xb4";//时间
const char check[] = "\xe5\x8b\xbe";//勾
const char Chinese[] = "\xe4\xb8\xad\xe6\x96\x87";//中文
const char English[] = "\xe8\x8b\xb1\xe8\xaf\xad";//英语
const char choose[] = "\xe8\xaf\xad\xe8\xa8\x80\xe9\x80\x89\xe6\x8b\xa9";//语言选择
const char page[] = "\xe9\xa1\xb5\xe9\x9d\xa2";//页面
const char CSDN[] = "\xe6\x88\x91\xe7\x9a\x84""CSDN\xe5\x9c\xb0\xe5\x9d\x80\xef\xbc\x9a";//我的CSDN地址
const char so[] = "\xe5\xa5\xbd\xe9\x95\xbf\xe7\x9a\x84\xe4\xb8\x80\xe5\x8f\xa5\xe8\xaf\x9d";//好长的一句话
然后接下来就是替换了
我这里直接用vs里的代码替换全部替换掉
GUI_FontSongFront18
替换的字库需要加& 取址
替换好了,接下里就是你想让哪一个控件显示哪些中文,就自己还,比如
hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0);DROPDOWN_SetFont(hItem, &GUI_FontSongFront18);DROPDOWN_AddString(hItem, Chinese);DROPDOWN_AddString(hItem, English);//// Initialization of '废话'//hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4);TEXT_SetFont(hItem, &GUI_FontSongFront18);TEXT_SetText(hItem, so);//// Initialization of 'Multiedit'//hItem = WM_GetDialogItem(pMsg->hWin, ID_MULTIEDIT_0);MULTIEDIT_SetFont(hItem, &GUI_FontSongFront18);MULTIEDIT_SetText(hItem, CSDN);//// Initialization of '语言选择'//hItem = WM_GetDialogItem(pMsg->hWin, ID_RADIO_0);RADIO_SetFont(hItem, &GUI_FontSongFront18);RADIO_SetText(hItem, Chinese, 0);RADIO_SetText(hItem, English, 1);
4.大功告成
English。CSDN这些我都已经定义好了
好了,直接上最终结果图了
下周看看有没有空,有空顺便把移植到32上,然后显示给你们看
EmwinVS2017工程下载
5.Emwin控件显示中文相关推荐
- VB高效导入Excel2003和Excel2007文件到MSHFlexGrid控件显示
1.VB高效导入Excel2003和Excel2007文件到MSHFlexGrid控件显示 2.以前也有Excel导入通用功能,但速度有些慢一会把两种实现方式都提供出为参考对比. 一.原通用导入exc ...
- C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值
C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值 using System; using System.Collections.G ...
- 演练GridView控件显示目录图片
本博文,将带你学习使用GridView控件显示站点目录的图片.如果你已经学会怎样做图片缩略图:怎样应用接口来实现统一的属性,方法或函数:怎样动态加载用户控件,等等.就不必往下看了.因为此篇博文就是演练 ...
- 在 Wi ndows,MSComm控件在中文Wi的ndows下的通信问题与处理方法.doc
MSComm控件在中文Wi的ndows下的通信问题与处理方法 MSComm控件在中文Windows下的通信问题与处理方法 摘 要VB 5.0/6.0的MSComm通信控件提供了一系列标准通信命令的接口 ...
- 部门树形结构,使用Treeview控件显示部门
部门树形结构.设计张部门表用于存储部门编码.名称.上级部门id,使用Treeview控件显示部门树,并实现部门增删改.移动.折叠等功能.特别提示,部门有层级关系,可用donetbar的adtree控件 ...
- ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 原文:ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 本篇文章将阐述 ...
- delphi7 mysql控件_Delphi7连接MySql数据库-DBGrid控件显示数据
一个简单的Delphi7小程序,使用MySql数据库做简单查询,用DBGrid控件显示结果,实现过程如下: (1)在MySql中新建demouser表,插入记录用于测试. (2)在Delphi7中新建 ...
- ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源
本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容. ...
- html设置控件位置大小,下面那个代码段设置myButton控件显示在HTML页左上角100px的位置 - 问答库...
问题: [多选] 下面那个代码段设置myButton控件显示在HTML页左上角100px的位置?() A . B . C . D . 调度例行会议形式有什么() 生产平衡会. 事故分析会. 调度专业会 ...
最新文章
- pytorch--nn.Sequential学习
- A Painless Q-learning Tutorial (一个 Q-learning 算法的简明教程)
- 深入理解JavaScript系列(3):全面解析Module模式
- pytest集成Allure Report
- Android Kotlin Coroutines ktx扩展
- django web 自定义通用权限控制
- Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?
- python中info的用法_Python pandas.DataFrame.info函数方法的使用
- iOS开发造轮子 | 通用占位图
- 腾讯回应多闪弹窗事件;京东要求员工梳理亲戚同学关系;雷军董明珠十亿赌局胜负已定 | 极客头条...
- groovy学习(四)io
- 主机不可达和端口不可达
- ubuntu安装nat123
- java毕业设计小区停车场管理系统(附源码、数据库)
- STP协议:生成树协议(二层防环机制:防止网桥网络中冗余链路形成环路工作)
- ACM程序设计大赛简介
- 听刘万祥老师讲“竖向折线图”、“点图”画法
- github分支操作
- Unity功能点---模拟枪械射击时的后坐力
- golang办公工作流workflow js-ojus/flow包介绍——系列一