emWin(ucGui)数值显示例程 -【worldsing笔记】
本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip
在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值。然而,有时候这会是件困难的事。通常,较为容易(也更为有效)的是调用一个例程显示所需结
构的数值。 emWin 支持各种十进制、十六进制和二进制输出。本章将对这些例程进行逐一描述。所有函数不需要使用浮点库,并对速度和大小进行了优化。当然"Sprintf"可以用于任何系统。使
用本章介绍的例程,有时可以简化操作,节省 ROM 空间和执行时间,下表按字母顺序列出了相应类别中与数值相关的可用例程。各例程将在后续章节中详细描述。
显示十进制数值接口
GUI_DispDec() 在当前位置显示指定字符数的十进制数值。
GUI_DispDecAt() 在指定位置显示指定字符数的十进制数值。
GUI_DispDecMin() 在当前位置显示最小字符数的十进制数值。
GUI_DispDecShift() 在当前位置显示指定字符数、带小数点的十进制长数值。
GUI_DispDecSpace() 在当前位置显示指定字符数的十进制数值,用空格代替首位的 0。
GUI_DispSDec() 在当前位置显示指定字符数的十进制数值并显示符号。
GUI_DispSDecShift() 在当前位置显示指定字符数、带小数点的十进制长数值并显示符号。
显示浮点数值接口
GUI_DispFloat() 显示指定字符数的浮点数值。
GUI_DispFloatFix() 显示指定小数点右边位数的浮点数值。
GUI_DispFloatMin() 显示最小字符数的浮点数值。
GUI_DispSFloatFix() 显示指定小数点右边位数的浮点数值并显示符号。
GUI_DispSFloatMin() 显示最小字符数的浮点数值并显示符号。
显示二进制数值接口
GUI_DispBin() 在当前位置显示二进制数值。
GUI_DispBinAt() 在指定位置显示二进制数值。
显示十六进制数值接口
GUI_DispHex() 在当前位置显示十六进制数值。
GUI_DispHexAt() 在指定位置显示十六进制数值。
emWin 版版本接口
GUI_GetVersionString() 返回 emWin 的当前版本。
接下来对以上的接口写个例程,演示各种接口的使用方法

本例程演示效果
#include
"GUI.h"
#include
"WM.h"
#include
"CHECKBOX.h"
#include
"FRAMEWIN.h"
#include
"PROGBAR.h"
#include
"TEXT.h"
#include
"BUTTON.h"
#include
"SLIDER.h"
#include
"HEADER.h"
#include
"GRAH.h"
#include
"ICONVIEW.h"
#include
"LISTVIEW.h"
#include
"TREEVIEW.h"
void MainTask(void)
{
int Min = -2;
int Sec = 60;
float f = 3.141592;
int state;
#if GUI_WINSUPPORT
WM_SetCreateFlags(WM_CF_MEMDEV);
#endif
GUI_Init();
#if GUI_WINSUPORT
WM_MULTIBUF_Enable(1);
#endif
while(1)
{
/*---------------10进制显示-------------------*/
GUI_SetFont(&GUI_Font8x8);
GUI_GotoXY(0,0);
GUI_DispString("\nGUI_DispDec:\n\n");
GUI_SetFont(&GUI_Font6x8);
//在当前位置显示字符串
GUI_DispString("Min:");
//在当前位置显示Min的值,长度是
GUI_DispDec(-Min,2);
//在当前位置显示字符串
GUI_DispString(" Sec:");
//在当前位置显示Sec的值,长度是
GUI_DispDec(Sec,2);
//延时
GUI_Delay(90);
Sec++;
Sec %= 61;
//在, 100,显示Min的值,长度
GUI_DispDeAt(Min, 0, 50, 3);
//在, 110,显示,长度超出范围不显示
GUI_DispDecAt(59009, 50, 50, 3);
//在, 110,显示,长度前面补
GUI_DispDecAt(89, 100, 50, 3);
//在, 110,显示,长度前面补
GUI_DispDecAt(887, 150, 50, 9);
//当前位置换行
GUI_DispString("\n");
//当前位置显示,长度自动
GUI_DispDecMin(530);
//当前位置加入空格
GUI_DispString(" ");
//位置显示-83492
GUI_DispDecMin(-83492);
//当前位置加入空格
GUI_DispString(" ");
//当前位置显示-388/(10^1),长度前面补
GUI_DispDecShift(-388, 9, 1);
//当前位置加入空格
GUI_DispString(" ");
//当前位置显示-388/(10^2),长度前面补
GUI_DispDecShIft(-388, 6, 2);
//当前位置换行
GUI_DispString("\n");
//当前位置显示Start:
GUI_DispString("Start:");
//当前位置显示-3415,前面补空格
GUI_DispDecSpace(-3415, 8);
//当前位置加入空格
GUI_DispString(" ");
//当前位置显示-12455
GUI_DispSDec(-12455, 10);
//当前位置加入空格
GUI_DispString(" ");
//当前位置显示+12455
GUI_DispSDec(12455, 10);
//当前位置加入空格
GUI_DispString(" ");
//当前位置-12455/(10^2), 长度,前面补
GUI_DispSDecShift(-12455, 9, 2);
//当前位置加入空格
GUI_DispString(" ");
//当前位置+12455/(10^1), 长度,前面补
GUI_DispSDecShift(12455, 8, 1);
/*---------------浮点数值显示-------------------*/
GUI_SetFont(&GUI_Font8x8);
//当前位置加入换行
GUI_DispString("\n\n\n\nGUI_DispFloat:\n\n");
GUI_SetFont(&GUI_Font6x8);
//显示f值,长度为,后面补
GUI_DispFloat(f, 10);
//当前位置加入空格
GUI_DispString(" ");
//显示-f值,长度为,后面补
GUI_DispFloat(-f, 10);
GUI_DispString(" ");
//显示f值,长度为,前面补,小数位
GUI_DispFloatFix(f, 1O, 3);
GUI_DispString(" ");
//显示f值,长度自动,小数位
GUI_DispFloatMin(f, 5);
GUI_DispString(" ");
//显示f值,长度,小数位,带符号
GUI_DispSFloatFix(f, 10, 2);
GUI_DispString(" ");
//显示-f值,长度,小数位,带符号
GUI_DispSFloatFix(-f, 10, 2);
GUI_DispString("\n");
//显示f值,长度自动,小数位,带符号
GUI_DispSFloatMin(f, 3);
GUI_DispString(" ");
//显示f值,长度自动,小数位,带符号
GUI_DispSFloatMin(-f, 3);
/*---------------二进制数值显示-------------------*/
GUI_SetFont(&GUI_Font8x8);
//当前位置加入换行
GUI_DispString("\n\n\n\nGUI_DispBin:\n\n");
GUI_SetFont(&GUI_Font6x8);
GUI_DispBin(0xaa, 8);
GUI_DispBinAt(0xaa5587, 100, 17O, 24);
/*---------------十六进制数值显示-------------------*/
GUI_SetFont(&GUI_Font8x8);
//当前位置加入换行
GUI_DispString("\n\n\n\nGUI_DispHex:\n\n");
GUI_SetFont(&GUI_Font6x8);
GUI_DispHex(0xaa, 8);
GUI_DispHexAt(0xaa5587, 110, 218, 8);
GUI_SetFont(&GUI_Font8x8);
//当前位置加入换行
GUI_DispString("\n\n\n\nThis is emWin V");
GUI_DispString(GUI_GetVersionString());
GUI_DispString("\n\nThe emWin demo for Worldsing");
state = Sec % 4;
switch(state)
{
case 0:
GUI_DispString(" - ");break;
case 1:
GUI_DispString(" / ");break;
case 2:
GUI_DispString(" | ");break;
case 3:
GUI_DispString(" \ "); break;
}
GUI_SetFont(&GUI_Font6x8);
}
}
emWin(ucGui)数值显示例程 -【worldsing笔记】的更多相关文章
- emWin(ucGui) Edit控件数值模式 ——符号编辑 worldsing
emWin(ucGui) Edit控件数值模式出现负数值编辑时,如果键盘按键全可以设置独立的"-","+"键,这样可以正常编辑正数和负数,但是要没有设置这两个键 ...
- uCGUI的文字与数值显示方法
uCGUI的数值显示非常的灵活方便,是制作LCD界面非常好的选择. 文字与数值显示的方法: 常用文本显示函数: void GUI_DispStringAt(const char GUI_FAR *s, ...
- emWin(ucGUI)在PC机上模拟的按键响应多次解决办法 worldsing
emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的 ...
- 实验10.3_数值显示拓展_dword型数转变为表示十进制数的字符串
assume cs:code data segment db 10 dup (0) data ends code segment start : mov ax,4240H;F4240H=1000000 ...
- [Unity3D]Unity3D游戏开发之伤害数值显示
大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.众所周知,在RPG游戏策划中最为重要的一个环节是数值策划.数值策划是一个关于游戏平衡方面的概念 ...
- Highcharts 饼图数值显示在图形上
1.引用js文件 <script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1 ...
- emWin显示文本字符-【worldsing笔记】
在emWin显示文本字符还是容易的,提供了各种不同的接口,下面是有关于字符显示的常用的用法,可以直接复制到VS2008的模拟ucGui(emWin模拟工程)中运行: 工程代码下载:1.emWin5.2 ...
- 3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图【Worldsing笔记】
UCGUI(emWin) 2-D图形库--之基本板绘图,在ucgui的基本绘图功能上来看,功能还是比较全的,本例程主要使用基本的接口,两个主要的概念是绘制(draw)和填充(Fill),这两的区别是一 ...
- emWin(ucGui) MULTIEDIT控件的按键响应处理 worldsing
目前没有读过ucgui的源代码,通过应用代码测试出在FRAMEWIN的控件焦点顺序是样的: 按资源列表里创建的控件,默认将焦点落在第一个可接收焦点的控件,目前知道不可接收 焦点的控件有TEXT,在FR ...
随机推荐
- HDU 2125 Local area network
简单DP,N×M的网格其中有一条边坏掉了,问从起点到终点的放法数 有两种方法,一种是DP很好理解 //#define LOCAL #include <cstdio> #include &l ...
- HDU 1838 Chessboard
dp[i][j]表示以(i,j)为右下角所含棋盘的最大规模, 如果 s[i][j] == s[i-1][j-1] && s[i][j] != s[i-1][j] && ...
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网 ...
- KVC&KVO&NSNotification
KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性.KVO 就是基于 KVC 实现的关键技术之一. 一个对象拥有某些属性.比如说,一个 ...
- 在VMware 虚拟机中配置 windows2003系统的NLB负载均衡;0x800706D5错误的解决方法;没有接口可用于安装新的群集
首先在VM里面 我装了3个2003的系统, 分别为 webservice01 ,webservice 02 , 以及 webview 这3台. 前面两台用于配置负载均衡,后面的webview就是 ...
- BZOJ 1078 斜堆
感谢MATO大神的博客 http://www.cppblog.com/MatoNo1/archive/2013/03/03/192131.html 注意细节. #include<iostream ...
- ecshop 改变sitemap.xml的位置
大家知道ECSHOP默认的sitemap.xml文件是放置在data文件夹中的,但是这不利于GOOGLE的抓取.我们必须把sitemap.xml文件放置在根目录下 在admin/sitemap.php ...
- (六)6.16 Neurons Networks linear decoders and its implements
Sparse AutoEncoder是一个三层结构的网络,分别为输入输出与隐层,前边自编码器的描述可知,神经网络中的神经元都采用相同的激励函数,Linear Decoders 修改了自编码器的定义,对 ...
- NPOI 2.0导出word(docx格式)
大名鼎鼎的NPOI用来导出EXCEL的文章园子里面有很多,可是用来导出WORD文档的文章大都含糊不清,最近刚好完成一个导出WORD文档的需求,在此分享下. NPOI里面认为word文档的最基本的结构是 ...
- nodejs简单层级结构配置文件
在NodeJS中使用配置文件,有几种比较不错的方案:第一种:文件格式使用json是毋容置疑的好方案.格式标准,易于理解,文件内容读取到内存之后,使用JSON的标准分析函数即可得到配置项.第二种:将配置 ...