【STemWin教程入门篇】第6章 STemWin文本显示

标签:
ucos-iiiucguiemwindsp文本 |
分类: emWin |
特别说明:完整STemWin的1-60期教程和配套实例下载地址:链接
第6章
STemWin文本显示
6.
1
6.
2
6.
3
6.
4
6.
5
6.1
讲解简单的文本显示前得说下控制字符,因为在使用STemwin来做一个文本阅读器时,了解这个很重要。控制字符是指字符代码小于32的字符。控制字符被定义为ASCII代码的一部分。emWin忽略了下表所列字符以外的所有控制字符:
字符代码 |
ASCII码 |
C |
描述 |
10 |
LF |
\n |
换行。 当前文本位置改变至下一行的开始。默认为:X = 0。 Y + =字体-距离 (单位:像素)(如例程GUI_GetFontDistY()计算得出) |
13 |
CR |
\r |
回车。 当前文本位置改变至当前行的开始。默认为:X = 0。 |
多行,且只需调用一个例程就能显示。
下面在emWin5.24的模拟器上面实现一下,下面的这个程序,主要是通过\n实现换行,模拟器的使用方法,看前面几期就会了。
void MainTask(void)
{
}
1.
2.
实际显示效果如下:
函数GUI_DispStringAt()
GUI_DispStringHCenterAt()
GUI_DispStringInRect() 平时使用的也比较多,有兴趣的可以在模拟器上面练练手。
6.2
通常,在所选窗口的当前文本位置,使用所选字体以正常文本模式写入文本。正常文本模式意思是指文本覆盖已经显示的任何内容,在这种情况下,字符掩码中设定的位元在屏幕上被设定。在这种模式下,活动位元使用前景颜色写入,而非活动位元用背景颜色写入。但在某些情况下,需要更改这种默认模式。STemWin为此提供了四种可以组合使用的标记 (一种默认加三种修改标记):
正常文本
反转文本
透明文本
异或文本
透明反转文本
void MainTask(void)
{
}
实际显示效果如下:
关于文本设置方面还有一个函数这个里面还有一个函数GUI_SetTextStyle(),有兴趣的可以试试。
6.3
先贴一下官方的使用说明
下面这个例子非常的好,很好的说明了三种模式的区别
#include "GUI.h"
int i;
char acText[] = "This example demonstrates text wrapping";
GUI_RECT Rect = {10, 10, 59, 59};
GUI_WRAPMODE aWm[] = {GUI_WRAPMODE_NONE,
void MainTask(void)
{
}
实际显示效果如下:
6.4
下面是在开发板上面实现的自动换行例子:
#include "GUI.h"
int i;
char
acText[] = "www.armfly.com
GUI_RECT Rect = {10, 10, 59, 59};
GUI_WRAPMODE aWm[] = {GUI_WRAPMODE_NONE,
void MainTask(void)
{
}
将上面的代码复制到工程中的MainTask.c文件即可。
实际显示效果如下:
6.5
文本的显示属于最基本的功能,初学者要多练练这些相关的函数,实践出真知。要不以后做一些复杂的例子,往往就是这些简单的地方出错。