LCUI:Hello World!程式的實現

來源:互聯網
上載者:User

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;}

代碼測試結果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.