第4章 文本显示
使用µC/GUI 显示字体是很容易的。仅仅需要很少的的函数知识就能让我们在任何有效的
字体当中进行文本书字,然后显示在任何一个位置。我们首先对显示字体进行简短的介绍,
然后是分别对所用的函数进行更详细的说明。
µC/GUI 中文手册
第 1 页
第 4 章 文本显示
4.1 基本函数
为了在LCD上显示文本,可以简单地调用函数GUI_DispString(),把你所希望显示的文本
作为其参数,例如:
GUI_DispString("Hello world!");
上面的代码将会在当前文本坐标显示文本“Hello world!”。
然而,正如你所看到的,有很多函数用于显示不同字体的文本或都在不同的坐标显示文
本。另外,它不仅能写字符串,而且能写十进制数,十六进制数和二进制数用于显示。即使
图形显示通常是以字节为导向,文本能够定位在显示屏上的任何像素上,不仅仅是按字节定
位。
控制字符
控制字符是一个小于32的字符代码。控制字符被定义为ASCII码的一部分。µC/GUI忽略所
有除了下表所列出的以外的控制字符:
字符代码
ASCII代码 “C” 含义
10
LF
\n 换行,改变当前文本坐标到下一行,即:
X=0 ; Y += 字 体 - 距 离 ( 单 位 : 像 素 ) ( 如 函 数
GUI_GetFontDistY()所讨论的那样)
13
CR
\r 回车,改变当前文本坐标到当前行的开始处,即:x=0
控制字符LF的用法在字符串中非常方便。换行能将一个字符串拆开几部分,这样,只需
要调用一个函数就能将这个字符串就能变成几行显示。
在一个选定坐标放置文本
这个功能可能通过调用函数GUI_GotoXY()来实现,如下面例子所示:
GUI_GotoXY(10,10);
GUI_DispString("Hello world!");
// 显示文本
// 设置坐标(以像素为单位)
4.2 文本API
下表列出了与文本处理相关的函数,在各自的类型中按字母顺序进行排列。函数的详细
第 2 页
µC/GUI 中文手册
描述后面列出。
第 4 章 文本显示
函 数
说 明
显示文本的函数
GUI_DispChar()
在当前坐标显示单个字符
GUI_DispCharAt()
在指定坐标显示单个字符
GUI_DispChars()
按指定重复次数显示一个字符
GUI_DispString()
在当前坐标显示字符串
GUI_DispStringAt()
在指定坐标显示字符串
GUI_DispStringAtCEOL() 在指定坐标显示字符串,并清除到行末
GUI_DispStringInRect() 在指定矩形区域内显示字符串
GUI_DispStringLen()
在当前坐标显示指定字符数量的字符串
GUI_SetTextMode()
设置文本绘图模式
选择文本绘图模式
选择文本对齐方式
GUI_GetTextAlign()
返回当前文本对齐模式
GUI_SetLBorder()
设置换行后的左边界
GUI_ SetTextAlign()
设置文本对齐模式
GUI_GotoX()
GUI_GotoXY()
GUI_GotoY()
设置当前文本坐标
设置当前X坐标
设置当前X、Y坐标
设置当前Y坐标
找回当前文本坐标
GUI_GetDispPosX()
返回当前X坐标
GUI_GetDispPosY()
返回当前Y坐标
清除视窗或其部分的函数
GUI_Clear()
清除活动视窗(如果背景是活动视窗,则是清
除整个屏幕)
GUI_DispCEOL()
清除从当前坐标到行末的显示内容
4.3 显示文本的函数
GUI_DispChar()
描述
在当前视窗使用当前字体在当前文本坐标处显示单个字符。
函数原型
µC/GUI 中文手册
第 3 页
第 4 章 文本显示
void GUI_DispChar(U16 c);
参 数
c
含 意
显示的字符
附加信息
这是显示字符的基本函数。所有其它显示函数(GUI_DispCharAt(),GUI_DispString()
等)都要调用这个函数输出单个字符。
字符是否有效取决于所选择的字体,如果在当前字体中该字符无效,则不会有任何显示。
范例
在屏幕上显示一个大写“A”:
GUI_DispChar(‘A');
相关主题
GUI_DispChars(),GUI_DispCharAt()
GUI_DispCharAt()
描述
在当前视窗使用当前字体在指定坐标处显示单个字符。
函数原型
void GUI_DispCharAt(U16 c, I16P x, I16P y);
参 数
含 意
c
x
y
显示的字符
写到客户窗口经X轴坐标(以像素为单位)
写到客户窗口经Y轴坐标(以像素为单位)
附加信息
显示字符的左上角在指定的(X,Y)坐标。
使用函数GUI_DispChar()写字符。
第 4 页
µC/GUI 中文手册
第 4 章 文本显示
如果在当前字体中该字符无效,则不会有任何显示。
范例
在屏幕左上角显示一个大写“A”:
GUI_DispCharAt('A',0,0);
相关主题
GUI_DispChar(),GUI_DispChars()
GUI_DispChars()
描述
在当前视窗使用当前字体在当前文本坐标显示一个字符,并指定重复显示的次数。
函数原型
void GUI_DispChars(U16 c, int Cnt);
参 数
c
Cnt
含 意
显示的字符
重复的次数(0≤Cnt≤32767)
附加信息
使用函数GUI_DispChar()写字符。
如果在当前字体中该字符无效,则不会有任何显示。
范例
在屏幕上显示一行“******************************”:
GUI_DispChars('*', 30);
相关主题
GUI_DispChar(),GUI_DispCharAt()
µC/GUI 中文手册
第 5 页
第 4 章 文本显示
GUI_DispString()
描述
在当前视窗的当前坐标,使用当前字体显示作为参数的字符串。
函数原型
void GUI_DispString(const char GUI_FAR *s);
参 数
s
含 意
显示的字符串
附加信息
字符串包括控制字符“\n”。该控制字符把当前文本坐标移到下一行的开始处。
范例
在屏幕上显示“Hello world”及在下一行显示“Next line”:
GUI_DispString("Hello world");
GUI_DispString("\nNext line");
// 显示文本
// 显示文本
相关主题
GUI_DispStringAt(),GUI_DispStringAtCEOL(),GUI_DispStringLen()
GUI_DispStringAt()
描述
在当前视窗,使用当前字体在指定坐标显示作为参数的字符串。
函数原型
void GUI_DispStringAt(const char GUI_FAR *s, int x, int y);
参 数
s
x
含 意
显示的字符串
写到客户视窗的X轴坐标(以像素为单位)
第 6 页
µC/GUI 中文手册
第 4 章 文本显示
y
写到客户视窗的Y轴坐标(以像素为单位)
范例
在屏幕上坐标(50,20)处显示“Position 50,20”
GUI_DispStringAt("Position 50,20", 50, 20);
// 显示文本
相关主题
GUI_DispString(),GUI_DispStringAtCEOL(),GUI_DispStringLen()
GUI_DispStringAtCEOL()
描述
该函数使用的参数与GUI_DispStringAt()完全一致。它也执行同样的操作:在指定坐标
显示所给出的字符串。但是,完成这步操作后,它会调用GUI_DispCEOL函数清除本行剩下部
分内容直至行末。如果字符串覆盖了其它的字符串,同时该字符串长度比原先的字符串短的
时候,使用该函数就会很方便。
GUI_DispStringInRect()
描述
在当前视窗,使用当前字体在指定坐标显示作为参数的字符串。
函数原型
void GUI_DispStringInRect ( const char GUI_FAR *s,
const GUI_RECT *pRect,
int Align);
参 数
含 意
s
显示的字符串
pRect
写像素的客户窗口的矩形区域
Align
垂直对齐:GUI_TA_TOP,GUI_TA_BOTTOM,GUI_TA_VCENTER;
水平对齐:GUI_TA_LEFT,GUI_TA_RIGHT,GUI_TA_HCENTER;
范例
µC/GUI 中文手册
第 7 页
第 4 章 文本显示
在当前视窗的水平及垂直对中的坐标显示字“Text”:
GUI_RECT rClient;
GUI_GetClientRect(&rClient);
GUI_DispStringInRect("Text", &rClient, GUI_TA_HCENTER | GUI_TA_VCENTER);
附加信息
如果指定的矩形太小,文本会被裁剪。
相关主题
GUI_DispString(),GUI_DispStringAtCEOL(),GUI_DispStringLen()
GUI_DispStringLen()
描述
在当前视窗,使用当前字体在指定坐标显示作为参数的字符串,指定显示字符的数量。
函数原型
void GUI_DispStringLen(const char GUI_FAR *s, int Len);
参 数
s
含 意
显示的字符串,应该以一个“\0”作为8位字
符排列的结束标记。允许用NULL作为参数。
Len
显示的字符数量
附加信息
如果字符串的字符少于指定的数量,则用空格填满。如果多于指定的数量,则显会显示
指定数量的字符。
文本信息可能以不同语言显示(自然长度会不一样)时,该函数十分有用,但是只有某
些字符能够显示。
相关主题
GUI_DispString(),GUI_DispStringAt(),GUI_DispStringAtCEOL()
第 8 页
µC/GUI 中文手册