emwin 汉字_emwin 弹出效果

emwin 汉字_emwin 弹出效果emWin—显示汉字最近接触了emWin,需要做一个简单的界面,尝试在基于stm32f429的触摸屏上显示汉字,根据例程里面的操作,字库取模得到了C文件,添加到keil工程里面,最后在触摸屏上却没有显示任何汉字,对于emWin界面的程序结构一脸懵,最后发现有些小细节没有注意。1.字库取模①首先创建一个.txt文本文档,把需要显示的汉字添加进去,然后选择另存。②打开软件FontCvt,生成…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

emWin—显示汉字

最近接触了emWin,需要做一个简单的界面,尝试在基于stm32f429的触摸屏上显示汉字,根据例程里面的操作,字库取模得到了C文件,添加到keil工程里面,最后在触摸屏上却没有显示任何汉字,对于emWin界面的程序结构一脸懵,最后发现有些小细节没有注意。

1.字库取模

①首先创建一个.txt文本文档,把需要显示的汉字添加进去,然后选择另存。
在这里插入图片描述
②打开软件FontCvt,生成C文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择开始的txt文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.程序部分

(1)将生成的C文件添加到keil工程, 写汉字显示的语句(两种写法):
①在回调函数中switch中的case WM_PAINT中用2D绘图类函数,即GUI_开头的函数写;(如果没有,则增加一项:case WM_PAINT
②在回调函数里面,获取句柄,直接使用控件类的函数写。
这里我使用的控件类函数:

  case WM_INIT_DIALOG:
        GUI_UC_SetEncodeUTF8();
      hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
		TEXT_SetFont(hItem, &GUI_Fontsong16);//song16是生成的C文件名
		TEXT_SetTextColor(hItem, GUI_MAKE_COLOR(0x0000FF00));
		TEXT_SetText(hItem, "专业模式");
		TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);

记得加定义:

extern GUI_CONST_STORAGE GUI_FONT GUI_Fontsong16;//song16是生成的C文件名

(2)更改编译属性
①将main.c文件,以及汉字显示语句所在的.C文件,用记事本打开,修改为UTF-8编码,如下图所示: ALT
之前我只改变了main.c文件的编码方式,界面文件的编码方式没有改过来,然后触摸屏上一直没能成功显示汉字。
②添加相应的编译属性,如下图:
在这里插入图片描述
最后附上触摸屏显示
在这里插入图片描述
其中,主要重点注意修改编码方式和编译属性
(第一次写,欢迎大神指正!)
参考:
[1]: https://blog.csdn.net/neqee/article/details/51317865

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182154.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • (干货)结合Scikit-learn介绍几种常用的特征选择方法

    系统版本:window7(64bit)python版本:python3.5我的GitHub:https://github.com/weepon写在前面:前段时间正好用到特征选择的知识,有幸读到这篇文章,本文也主要参考这篇文章写成,但与原文章有不同之处:第一、纠正了原始文章中的代码错误,使其能用python3.5正常运行;第二、增加了一些新的特征选择内容,使其更加完善。本文中

    2022年4月8日
    43
  • java迭代创建文件,并写入内容

    java迭代创建文件,并写入内容java迭代创建文件,并写入内容

    2022年4月24日
    49
  • 硬中断和软中断_软中断和硬中断的优先级

    硬中断和软中断_软中断和硬中断的优先级本文主要内容:硬中断/软中断的原理和实现内核版本:2.6.37Author:zhangskd@csdnblog 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进行

    2025年8月16日
    2
  • Java学习之JavaWeb篇[通俗易懂]

    Java学习之JavaWeb篇[通俗易懂]讲解了什么是Javaweb,以及如何去搭建一个网站

    2022年7月9日
    23
  • idea 2022.01激活(JetBrains全家桶)2022.01.28

    (idea 2022.01激活)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~GTRP…

    2022年3月31日
    54
  • hibernate 二级缓存和查询缓存原理和关系「建议收藏」

    hibernate 二级缓存和查询缓存原理和关系「建议收藏」二级缓存和查询缓存都相当于一个map。二级缓存缓存的key为id,value为实体对象。一般load(),iterate()使用到二级缓存,list()需要结合查询缓存使用。iterate()和list()区别如下:iterate()不需要开启查询缓存,它首先发出一个sql如”selects.idfromStudents”去数据库把id属性列表取出来,然后再根据id列表一个一

    2022年5月23日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号