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;}
代碼測試結果: