LCUI:Hello World!程序的实现
来源:互联网 发布:十八亿亩耕地红线知乎 编辑:程序博客网 时间:2024/06/06 00:37
此处的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_Hint 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[]) {LCUIapp(argc, argv); LCUIWidgetwindow( "window" ), label( "label" );LCUIGraphicon; /* 载入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;}
代码测试结果:
- LCUI:Hello World!程序的实现
- jni 中“hello world”程序的实现
- SDK的hello world程序!
- ACIS 的 hello world 程序
- 汇编语言的Hello world程序
- Hello world程序的生命周期
- Django 的hello world 程序
- Hello World程序的由来
- JAVA的Hello World程序
- angularjs的hello world程序
- LCUI:实现一个简易的 照片查看器
- linux的module的“hello world”程序
- qtopia 的hello world程序的记录
- wxWindows 最简单的Hello World程序
- 各种编程语言的Hello world程序
- 各种语言的 Hello world 程序
- Applet的Hello World程序(java)
- NASM写的DOS程序:Hello World!
- 数据库学习 ORA-12545:因目标主机或对象不存在,连接失败
- Silverlight开发历程—(绘制报表)
- 网络性能测试工具-备忘
- 两个非root用户之间的免密码登录
- 发现自己很弱
- LCUI:Hello World!程序的实现
- Date Edit
- 关于get_magic_quotes_gpc()函数
- 如何在C#中使用 Win32和其他库
- PHP magic_quotes_gpc的详细使用方法
- 关于SQL中,C#监视某张表SqlDependency学习笔记
- php dirname()和__FILE__常量的应用
- jQuery 判断 checkbox 是否被选中的几种方法
- PHP底层工作原理