GUI 使用3

初级控件的创建:

控件分为初级控件和高级控件两种,初级控制分为文本控件、图片控件、进度条控件和按钮控件,高级控件由初级控件组合而成,主要是菜单控件。

文本控件:

创建文本控件:

L_U32 L_GUI_CreatText(L_U32 WindowID, L_CHAR *str, L_U32 len, ts_LPoint point_LeftTop, ts_LPoint point_RightBottom, L_U32 ID, L_U8 mode)

WindowID:所依附的窗口ID

str:初始化时显示的字符串

len:字符串长度

point_LeftTop:控件左上角点,该点是相对于窗口而非整个显示区

point_RightBottom:控件右下角点,该点是相对于窗口而非整个显示区

ID:控件自身ID(唯一)

mode:控件模式,为1时:若控件尺寸小于输入的字符尺寸,自动根据输入字符串大小调整控件尺寸(仅在创建控件时调整)

为2时,根据前面设定的控件位置确定控件尺寸

注意:默认文字在控件中居中显示。

改变控件内的文字:

void L_GUI_ChangeText(L_U32 ID, L_CHAR* str, L_U32 len)

ID:所要改变文字控件的ID

str:所需要更新的字符串

len:字符串长度

调用后自动更新控件。

设置所选中的文字:

void L_GUI_SetSelectText(L_U32 ID, L_U32 s1, L_U32 s2)

字符选中显示

ID:所要改变文字控件的ID

s1:选中起始位置

s2:选中终止位置

注意,选中位置均为字符串内存位置,从第一个字符开始选中,该值为0。不选中默认s1和s2均为0xff。该函数调用后注意调用L_GUI_UpdataControl更新控件。

例程:

#include "L_GUI_def.h"

#define _W1_	1
#define _T1_	2

int main()
{
    L_GUIStart(0, 0, 0);

    //创建一个覆盖整个OSD区的窗口
	L_GUI_CreateWindow(720, 576, OSD, L_GUI_POINT(0, 0), L_GUI_POINT(720, 576), _W1_);
	L_GUI_RefreshControl(1, L_SH_SHOW);

	//创建一个静态文本框,并设置控件在窗口的位置,并根据文字尺寸调整控件大小
	L_GUI_CreatText(_W1_, "hello world", L_STRLEN("hello world"), L_GUI_POINT(10, 10), L_GUI_POINT(95, 30), _T1_, 1);

    //显示控件
	L_GUI_RefreshControl(_T1_, L_SH_SHOW);

    //设置文字位置位于控件左上角
	L_GUI_SetControlTextPlace(_T1_, L_DT_NON, 0, 0);
    //注意:当设置控件尺寸按照不变时,默认文字在控件中居中显示

}

图片控件:

创建图片控件:

L_U32 L_GUI_CreatPicture(L_U32 WindowID, L_U16 Index, ts_LPoint point_LeftTop, ts_LPoint point_RightBottom, L_U32 ID, L_U8 mode)

WindowID:所依附的窗口ID

Index:图片索引,为0时默认不加载任何图片

point_LeftTop:控件左上角点,该点是相对于窗口而非整个显示区

point_RightBottom:控件右下角点,该点是相对于窗口而非整个显示区

ID:控件自身ID(唯一)

mode:控件模式,为1时:自动根据图片大小调整控件尺寸(仅在创建控件时调整)

为2时,根据前面设定的控件位置确定控件尺寸

注意:默认图片在控件中居中显示。

设置图片控件所显示的图片:

void L_GUI_ShowPictureItem(L_U32 ID, L_U16 PictureIndex)

ID:所要改变图片控件的ID

PictureIndex:图片索引,0索引表示无图片

进度条控件:

创建进度条控件:

L_U32 L_GUI_CreatProgress(L_U32 WindowID, L_CHAR *str, L_U32 len, ts_LPoint point_LeftTop, ts_LPoint point_RightBottom, L_U32 mode, L_U32 ID)

WindowID:所依附的窗口ID

str:初始化时显示的字符串

len:字符串长度

point_LeftTop:控件左上角点,该点是相对于窗口而非整个显示区

point_RightBottom:控件右下角点,该点是相对于窗口而非整个显示区

mode:显示模式。

                0x01    完全填充,背景黑色,填充白色
                0x02    完全填充,背景透明,填充白色,有黑色边框
                0x03    完全填充,背景透明,填充黑色,有白色边框

ID:控件自身ID(唯一)

设置进度条进度:

void L_GUI_SetProgressRate(L_U32 ID, L_U32 rate)

ID:所设置的控件ID

rate:进度,0~100

设置进度条显示的文字:

void L_GUI_ChangeProgressText(L_U32 ID, L_CHAR *str, L_U32 len)

ID:所设置的控件ID

str:初始化时显示的字符串

len:字符串长度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值