此处的HelloWorld程序就不更新了,请参考LCUI的HelloWorld教程:http://lcui.org/zh-cn/docs/step1.html 。
以下是历史内容:
0.12.6版本,C++类有变动,以下是C和C++代码:
#ifdef __cplusplus // C++版的hello,world程序 #include <LCUI_Build.h> #include LC_LCUI_H #include LC_WIDGET_H #include LC_GRAPH_H #include LC_WINDOW_H #include LC_LABEL_H int main(int argc, char*argv[]) { LCUIApp app( argc, argv ); LCUIWindow window; LCUILabel text; LCUIGraph icon; Load_Graph_Icon_LCUI_18x18( icon.getGraph() ); window.setTitleText( "测试窗口" ); window.resize( Size(320, 240) ); window.setTitleIcon( icon ); window.addToClientArea( label ); text.setAlign( ALIGN_MIDDLE_CENTER, Pos(0,0) ); text.setText( "<size=24px>Hello,World!\n" "<color=255,0,0>世</color>" "<color=100,155,0>界</color>" "<color=0,0,0>,</color>" "<color=0,255,0>你</color>" "<color=0,100,155>好</color>" "<color=0,0,255>!</color>\n</size>"); /* 显示部件 */ text.show(); window.show(); return app.main(); } #else // 用LCUI实现hello,world程序 #include <LCUI_Build.h> #include LC_LCUI_H #include LC_WIDGET_H #include LC_WINDOW_H #include LC_LABEL_H #include LC_GRAPH_H #include LC_RES_H #include <unistd.h> int main(int argc, char*argv[]) { LCUI_Widget *window, *label; LCUI_TextStyle style; LCUI_Graph pic; LCUI_Init(argc, argv); /* 初始化结构体 */ Graph_Init( &pic ); TextStyle_Init( &style ); /* 载入库中自带的图形数据,这个图形是18x18尺寸的LCUI的图标 */ Load_Graph_Icon_LCUI_18x18(&pic); /* 创建部件 */ window = Create_Widget("window"); label = Create_Widget("label"); /* 设定窗口标题的文本 */ Set_Window_Title_Text(window, "测试窗口"); /* 设定窗口标题的图标 */ Set_Window_Title_Icon(window, &pic); /* 改变窗口的尺寸 */ window->resize(window, Size(320, 240)); /* 将窗口客户区作为label部件的容器添加进去 */ Window_Client_Area_Add(window, label); /* 居中显示 */ label->set_align(label, ALIGN_MIDDLE_CENTER, Pos(0,0)); /* * 设定label部件显示的文本 * <color=R,G,B>文字</color> 表示的是:“文字”将使用自定义颜色 * <size=24px>文字</size> 表示的是:显示的“文字”,大小为24像素 **/ Label_Text(label, "<size=24px>Hello,World!\n" "<color=255,0,0>世</color>" "<color=100,155,0>界</color>" "<color=0,0,0>,</color>" "<color=0,255,0>你</color>" "<color=0,100,155>好</color>" "<color=0,0,255>!</color>\n</size>"); /* 显示部件 */ label->show(label); window->show(window); return LCUI_Main(); /* 进入主循环 */ } #endif
0.12.5版本,部分功能模块添加了C++类,可以使用C++代码,以下是C++版I的Hello,World示例程序源代码:
// C++版的hello,world程序 #include <LCUI_Build.h> #include LC_LCUI_H /* 包含LCUI的相关头文件 */ #include LC_WIDGET_H #include <unistd.h> int main(int argc, char*argv[]) { LCUI app(argc, argv); LCUIWidget window( "window" ), label( "label" ); LCUIGraph icon; /* 载入LCUI的18x18尺寸的图标 */ icon.load.icon.LCUI_18x18(); /* 为窗口设定图标 */ window.Window.setIcon( icon ); /* 改变窗口的尺寸 */ window.resize( Size(320, 240) ); /* 设定窗口的标题文本 */ window.Window.setTitle( "测试窗口" ); /* 将label部件添加至窗口客户区 */ window.Window.addToClientArea( label ); /* 设定label部件的对齐方式 */ label.setAlign( ALIGN_MIDDLE_CENTER, Pos(0,0) ); /* 设定label部件显示的文本 */ label.Label.setText( "Hello,World!\n" "<color=255,0,0>世</color><color=100,155,0>界</color>" "<color=0,0,0>,</color><color=0,255,0>你</color>" "<color=0,100,155>好</color><color=0,0,255>!</color>\n" ); /* 设定字体大小 */ label.Label.setFont( 24, NULL ); /* 显示这两个部件 */ label.show(); window.show(); /* 进入主循环 */ return app.main(); }
0.12.3版本的LCUI的Hello World示例程序源代码:
#include <LCUI_Build.h> /* 包含LCUI的头文件 */ #include <unistd.h> int main(int argc, char*argv[]) { LCUI_Init(argc, argv); LCUI_Widget *window, *label; LCUI_Graph pic; /* 初始化结构体 */ Graph_Init(&pic); /* 载入库中自带的图形数据,这个图形是18x18尺寸的LCUI的图标 */ Load_Graph_Icon_LCUI_18x18(&pic); /* 创建部件 */ window = Create_Widget("window"); label = Create_Widget("label"); /* 设定窗口标题的文本 */ Set_Window_Title_Text(window, "测试窗口"); /* 设定窗口标题的图标 */ Set_Window_Title_Icon(window, &pic); /* 改变窗口的尺寸 */ Resize_Widget(window, Size(320, 240)); /* 将窗口客户区作为label部件的容器添加进去 */ Window_Client_Area_Add(window, label); /* 居中显示 */ Set_Widget_Align(label, ALIGN_MIDDLE_CENTER, 0, 0); /* * 设定label部件显示的文本 * <color=R,G,B>文字</color> 表示的是:“文字”将使用自定义颜色 * Set_Label_Text函数使用方法和sprintf函数基本一样,支持控制符 **/ Set_Label_Text(label, "Hello World!\n" "<color=255,0,0>世</color>" "<color=100,155,0>界</color>" "<color=0,255,0>你</color>" "<color=0,100,155>好</color>" "<color=0,0,255>!</color>\n"); /* * 改变label部件的字体大小,单位为pixel(像素),不是pt(点数) * 第三个参数是自定义使用的字体文件,我设定为NULL,表示不使用。 **/ Set_Label_Font(label, 24, NULL); /* 显示部件 */ Show_Widget(label); Show_Widget(window); LCUI_Main(); /* 进入主循环 */ return 0; }
LCUI 0.12.1版:
#include "../include/LCUI.h" void Exit_LCUI(void *in) { LCUI_Window *win_p = (LCUI_Window*)in;/* 转换数据类型 */ Close_Window(win_p); /* 调用Close_Window函数关闭窗口 */ } int main(int argc,char*argv[]) /* 主函数,程序的入口 */ { LCUI_App this; /* LCUI程序 */ LCUI_Widget *label; /* 使用指向widget部件的指针 */ LCUI_Window *main_window; /* 使用指向窗口的指针 */ int width, height; /* 初始化LCUI */ LCUI_Init(&this); /* 设定默认的字体 */ Set_Default_Font("../fonts/msyh.ttf"); /* 创建一个LCUI程序窗口 */ width = 180; /* 窗口的宽度 */ height = 110; /* 窗口的高度 */ /* 创建一个窗口,并获取指向窗口数据的指针 */ main_window = Create_Window(&this, width, height); Set_Window_Title_Text(main_window, "Hello World!"); /* 在窗口内创建一个label部件 */ label = Create_Widget(main_window, LABEL); /* 更改label部件中的文本内容 */ Set_Label_Text(label, "Hello World! \n测试一下!这是中国字! \nabcdefghijklmnopqrstuvwxyz\n1234567890\n!@#$%^&*()_+{}|:\"<>?"); Show_Widget(label); /* 显示部件 */ Show_Window(main_window); /* 显示窗口 */ /* 将返回键与Exit_LCUI函数关联,当返回键被按下后,程序退出 */ LCUI_Key_Event_Connect(main_window, KEY_ESC, Exit_LCUI, (void*)main_window); LCUI_Main(&this); /* 进入主循环 */ return 0; }
老版本的Helloworld:
#include "LCUI_Build.h" #include LCUI_MAIN_H /* 包含LCUI库的必须头文件 */ #include LCUI_WIDGETS_H #include LCUI_FONTS_H #include "all.h" int main(int argc,char *argv[]) { LCUI_App app; /* LCUI程序 */ Pic_Data pic; /* 用于存储图片数据 */ int win_a; /* 用于保存窗口识别代号 */ Lable_Data lable; /* 用于保存文本标签数据 */ int width,height,temp; width = 240; /* 窗口的宽度 */ height = 180; /* 窗口的高度 */ temp = LCUI_Load_Image("egg.bmp",&pic); /* 载入图片文件:egg.bmp */ if(temp != 0) { return -1; } LCUI_Init(&app); /* 初始化LCUI */ win_a = Create_Window(&app,width,height); /* 创建一个LCUI程序窗口 */ Set_Background_Image(&app,win_a,&pic,STRETCH); /* 设定窗口背景图为刚刚载入的图片,STRETCH 表示将图片拉伸并铺满整个背景 */ Title_Text_Size(&app,win_a,12); /* 标题栏中的文本的字体大小为12 */ /* 在标题栏中添加文本 */ Set_Title_Text(&app,win_a,"测试程序 by liuchao35758600"); Create_Lable(&app,win_a,&lable); /* 创建一个文本标签,如果没有指定位置,默认居中放置 */ Lable_Text(&lable,"Hello World!"); /* 标签内容为Hello World! */ /* 字体大小为32,使用微软雅黑字体,字体配色为缺省(默认为黑色) */ Lable_Font(&lable,32,TTF_MSYH,NULL); Show_Window(&app,win_a);/* 显示窗口 */ Close_Window(&app,win_a); /* 关闭窗口 */ return 0; }
代码测试结果: