STEMWIN文本基础显示笔记

指定位置显示字符

void GUI_DispStringAt(const char GUI_FAR * s, int x, int y);
s 显示的字符串。
x 要写入的客户端窗口 X 位置 (单位:像素)。
y 要写入的客户端窗口 Y 位置 (单位:像素)。

在当前窗口的指定位置处,使用当前字体水平居中显示作为参数的字符串。

其实就是居中显示 只不过要给出中点位置(x,y)
void GUI_DispStringHCenterAt(const char GUI_FAR * s, int x, int y);

在指定窗口显示文本

#

**void GUI_DispStringInRectWrap(const char GUI_UNI_PTR * s,
GUI_RECT * pRect,
int TextAlign,
GUI_WRAPMODE WrapMode);**


GUI_SetTextMode(GUI_TM_TRANS);  //透明文本  背景透明
GUI_SetColor(GUI_WHITE);
        GUI_FillRectEx(&Rect);    用白色填充区域
        GUI_SetColor(GUI_BLACK);  文本字体颜色黑色
**GUI_DispStringInRectWrap(acText,&Rect,GUI_TA_LEFT,aWm[i]);**//在当前窗口指定的矩形区域内显示字符串(并可自动换行)


> ## 下面的函数三个参数:文本,区域,对齐方式,换行模式 ##

> GUI_DispStringInRectWrap(acText,&Rect,GUI_TA_LEFT,aWm[i]);
void emwin_texttest(void)
{
    int i;
    char acText[]   = "This example demostrates text wrapping";
    GUI_RECT Rect   ={100,140,159,199}; //定义矩形显示区域
    GUI_WRAPMODE aWm[] = {GUI_WRAPMODE_NONE,
                          GUI_WRAPMODE_CHAR,
                          GUI_WRAPMODE_WORD};

    GUI_SetBkColor(GUI_BLUE);       //设置背景颜色
    GUI_Clear();                    //清屏  相当于用蓝色填充整个屏幕
    GUI_SetFont(&GUI_Font24_ASCII); //设置字体  字体中等大小
    GUI_SetColor(GUI_YELLOW);       //设置前景色(如文本,画线等颜色)
    GUI_DispString("HELLO WORD!");

    GUI_SetFont(&GUI_Font8x16);     //设置字体  偏小适合作为文本字体
    GUI_SetPenSize(10);             //设置笔大小  粗笔
    GUI_SetColor(GUI_RED);          //红色字体
    GUI_DrawLine(100,50,200,100);   //绘线
    GUI_DrawLine(100,130,200,50);   //绘线    画两根交叉线
    GUI_SetBkColor(GUI_BLACK);      //设置黑色背景   字体部分背景颜色
    GUI_SetColor(GUI_WHITE);        //设置字体颜色为白色
    GUI_SetTextMode(GUI_TM_NORMAL); //正常模式
    GUI_DispStringHCenterAt("GUI_TM_NORMAL",150,50);
    GUI_SetTextMode(GUI_TM_REV);    //反转文本  **反转意思是:字体和背景颜色反过来**
    GUI_DispStringHCenterAt("GUI_TM_REV"   ,150,66);
    GUI_SetTextMode(GUI_TM_TRANS);  //透明文本  **背景透明的**
    GUI_DispStringHCenterAt("GUI_TM_TRANS" ,150,82);
    GUI_SetTextMode(GUI_TM_XOR);    //异或文本   **字体颜色和交叉部分颜色按照颜色叠加显示**
    GUI_DispStringHCenterAt("GUI_TM_XOR"   ,150,98);
    GUI_SetTextMode(GUI_TM_TRANS|GUI_TM_REV);//透明反转文本
    GUI_DispStringHCenterAt("GUI_EM_TRANS|GUI_TM_REV",150,114);

    GUI_SetTextMode(GUI_TM_TRANS);  //透明文本
    for(i=0;i<3;i++)
    {
        GUI_SetColor(GUI_WHITE);
        GUI_FillRectEx(&Rect);
        GUI_SetColor(GUI_BLACK);
        GUI_DispStringInRectWrap(acText,&Rect,GUI_TA_LEFT,aWm[i]);//在当前窗口指定的矩形区域内显示字符串(并可自动换行)
        Rect.x0 += 70;
        Rect.x1 += 70;
    }   
}

反转意思是:字体和背景颜色反过来

GUI_SetTextMode(GUI_TM_REV); //反转文本

透明文本 背景透明的

GUI_SetTextMode(GUI_TM_TRANS); //透明文本

异或文本 字体颜色和交叉部分颜色按照颜色叠加显示

GUI_SetTextMode(GUI_TM_XOR);

程序中的awi[]就是换行模式

不执行自动换行 就是一行,满了就不显示

GUI_WRAPMODE_NONE

根据字对文本进行自动换行 就是一行满了就换行

GUI_WRAPMODE_WORD //常用模式

根据字符对文本进行自动换行 一个字符串就占用一行

GUI_WRAPMODE_CHAR //一个字符就占用一行 一行不够用就占用两行

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值