int main(void) { int i; char str[10]; LCUI_RGB color[6]={{255,255,255},{127,127,127}, {255,0,0}, {255,165,0}, {30,144,255}, {65,200,65} }; LCUI_Widget *window, *widget[6], *label[6]; LCUI_Init(); window = Widget_New( "window" ); for(i=0; i<6; ++i) { widget[i] = Widget_New( NULL ); label[i] = Widget_New( "label" ); sprintf(str, "Area %d" , i); Label_Text( label[i], str); Widget_Container_Add( widget[i], label[i] ); Window_ClientArea_Add( window, widget[i] ); Widget_Resize( widget[i], Size(80,80) ); Widget_SetPosType( widget[i], POS_TYPE_STATIC ); Widget_SetAlign( label[i], ALIGN_MIDDLE_CENTER, Pos(0,0) ); Widget_SetBorder( widget[i], Border(1,BORDER_STYLE_SOLID,RGB(0,0,0)) ); Widget_SetBackgroundTransparent( widget[i], FALSE ); Widget_SetBackgroundColor( widget[i], color[i] ); Widget_Show( label[i] ); Widget_Show( widget[i] ); } Window_SetTitleText( window, "测试部件布局-2" ); Widget_Resize( window, Size(320, 240) ); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); Widget_Show( window ); return LCUI_Main(); }
int main(int argc, char *argv[]) { int i; LCUI_Init( argc, argv ); LCUI_RGB color[6]={{255,255,255},{127,127,127}, {255,0,0}, {255,165,0}, {30,144,255}, {65,200,65} }; LCUI_Widget *window, *widget[6], *label[6]; window = Create_Widget( "window" ); for(i=0; i<6; ++i) { widget[i] = Create_Widget( NULL ); label[i] = Create_Widget( "label" ); Label_Text( label[i], "Area %d" , i); Widget_Container_Add( widget[i], label[i] ); Window_Client_Area_Add( window, widget[i] ); Resize_Widget( widget[i], Size(80,80) ); Set_Widget_PosType( widget[i], POS_TYPE_STATIC ); Set_Widget_Align( label[i], ALIGN_MIDDLE_CENTER, Pos(0,0) ); Set_Widget_Border( widget[i], RGB(0,0,0), Border(1,1,1,1) ); Set_Widget_BG_Mode( widget[i], BG_MODE_FILL_BACKCOLOR ); Set_Widget_Backcolor( widget[i], color[i] ); Show_Widget( label[i] ); Show_Widget( widget[i] ); } Set_Window_Title_Text( window, "测试部件布局-2" ); Resize_Widget( window, Size(320, 240) ); Show_Widget( window ); return LCUI_Main(); }
int main(int argc, char*argv[]) { FILE *fp; char buff[256]; LCUI_Widget *window, *textbox; LCUI_Init(argc, argv); window = Create_Widget("window"); textbox = Create_Widget("text_box"); Set_Window_Title_Text(window, "测试文本框部件"); window->resize( window, Size(320, 240) ); Window_Client_Area_Add( window, textbox ); /* 启用多行文本显示 */ TextBox_Multiline( textbox, TRUE ); textbox->set_align( textbox, ALIGN_MIDDLE_CENTER, Pos(0,0) ); /* 打开README.md文件,并将内容读取至文本框上显示 */ fp = fopen("../README.md", "r"); if( fp ) { while(fgets( buff, sizeof(buff), fp )) { TextBox_Text_Append( textbox, buff ); } fclose( fp ); } Set_Widget_Dock( textbox, DOCK_TYPE_FILL ); textbox->show(textbox); window->show(window); return LCUI_Main(); }
int main(int argc, char*argv[]) { LCUI_Init(argc, argv); window = Create_Widget("window"); scrollbar = Create_Widget("scrollbar"); label = Create_Widget("label"); /* 设定窗口标题的文本 */ Set_Window_Title_Text(window, "测试滚动条"); /* 改变窗口的尺寸 */ window->resize(window, Size(320, 240)); Resize_Widget( scrollbar, Size(10, 100) ); ScrollBar_Set_MaxSize( scrollbar, 400 ); /* 设置部件布局 */ Set_Widget_Align( label, ALIGN_MIDDLE_CENTER, Pos(-20,0) ); Set_Widget_Align( scrollbar, ALIGN_MIDDLE_CENTER, Pos(0,0) ); Label_Text( label, "0" ); /* 将窗口客户区作为部件的容器添加进去 */ Window_Client_Area_Add(window, label); Window_Client_Area_Add(window, scrollbar); /* 将回调函数与滚动条部件连接 */ ScrollBar_Connect( scrollbar, callback_func, NULL ); /* 显示部件 */ scrollbar->show(scrollbar); window->show(window); label->show(label); return LCUI_Main(); /* 进入主循环 */ }
int main(int argc, char **argv) { LCUI_Widget *window; /* 载入图像资源 */ LoadIMG(); /* 初始化LCUI */ LCUI_Init(350,280,0); /* 创建窗口 */ window = Widget_New("window"); /* 设置窗口背景色 */ Widget_SetBackgroundColor( window, RGB(255,255,255) ); /* 调整窗口尺寸 */ Widget_Resize( window, Size(320, 240) ); /* 设置窗口为线条边框风格 */ Widget_SetStyleID( window, WINDOW_STYLE_NONE ); /* 将界面创建至窗口内 */ CreateGUI( window ); /* 设置定时器,用于定时更新时间显示 */ LCUITimer_Set( 1000, UpdateTimeView, NULL, TRUE ); /* 设置定时器,用于更新滑块的位置 */ LCUITimer_Set( 20, PicBtn_UpdatePos, NULL, TRUE ); /* 显示窗口 */ Widget_Show( window ); /* 在LCUI退出时释放图像资源 */ LCUIApp_AtQuit( FreeIMG ); return LCUI_Main(); }
int main(int argc, char*argv[]) /* 主函数,程序的入口 */ { LCUI_Init(); LCUI_Widget *windows[4]; /* 创建窗口部件 */ windows[0] = Window_New("主窗口", NULL, Size(320, 240)); windows[1] = Window_New("子窗口 A", NULL, Size(240, 200)); windows[2] = Window_New("子窗口 B", NULL, Size(180, 150)); windows[3] = Window_New("子窗口 C", NULL, Size(150, 100)); /* 改变风格 */ Widget_SetStyleID( windows[1], WINDOW_STYLE_PURE_ORANGE ); Widget_SetStyleID( windows[2], WINDOW_STYLE_PURE_GREEN ); Widget_SetStyleID( windows[3], WINDOW_STYLE_PURE_RED ); /* 将子窗口放入主窗口的客户区中 */ Window_ClientArea_Add( windows[0], windows[1] ); Window_ClientArea_Add( windows[0], windows[2] ); Window_ClientArea_Add( windows[0], windows[3] ); /* 显示它们 */ Widget_Show(windows[0]); Widget_Show(windows[1]); Widget_Show(windows[2]); Widget_Show(windows[3]); Widget_Event_Connect( Window_GetCloseButton(windows[0]), EVENT_CLICKED, destroy); LCUI_Main(); /* 进入主循环 */ return 0; }
int test_widget_rect( void ) { int i, ret = 0; float values[3] = { 1.0f, 1.5f, 2.0f }; for( i = 0; i < 3; ++i ) { memset( &self, 0, sizeof( self ) ); TEST_LOG( "test widget rectagle in " "%g%% scaling mode\n", values[i] * 100 ); LCUI_Init(); #ifdef _WIN32 Logger_SetHandler( LoggerHandler ); Logger_SetHandlerW( LoggerHandlerW ); #endif self.widget = create_widget(); LCUIMetrics_SetScale( values[i] ); LCUIDisplay_SetSize( SCREEN_WIDTH, SCREEN_HEIGHT ); /* 等一段时间后再开始测试,避免初始化 LCUI 时产生的脏矩形影响测试结果 */ LCUITimer_Set( 100, start_test, NULL, FALSE ); LCUIWidget_Update(); if( LCUI_Main() != 0 ) { ret -= 1; } } return ret; }
int main(int argc, char*argv[]) { setenv( "LCUI_FONTFILE", "../../fonts/msyh.ttf", FALSE ); LCUI_Init(); /* 初始化LCUI */ Create_GUI(); /* 创建图形界面 */ clear_game(); /* 清理游戏 */ Show_GUI(); /* 显示图形界面 */ return LCUI_Main(); }
int main(int argc, char **argv) { int i; LCUI_Init(0,0,0); /* 创建部件 */ window = Widget_New("window"); age_label = Widget_New("label"); button = Button_New("提交"); age_rb[0] = RadioButton_New("A. 15岁以下"); age_rb[1] = RadioButton_New("B. 15-20岁"); age_rb[2] = RadioButton_New("C. 21-25岁"); age_rb[3] = RadioButton_New("D. 26-30岁"); age_rb[4] = RadioButton_New("E. 31-40岁"); age_rb[5] = RadioButton_New("F. 40岁以上"); /* 设定窗口标题的文本 */ Window_SetTitleText(window, "测试复选框部件"); /* 改变尺寸 */ Widget_Resize(window, Size(320, 240)); Widget_SetAutoSize( button, FALSE, 0 ); Widget_Resize(button, Size(60, 25)); /* 将窗口客户区作为这些部件的容器 */ Window_ClientArea_Add(window, age_label); Window_ClientArea_Add(window, button); for(i=0; i<6; i++) { Window_ClientArea_Add(window, age_rb[i]); } /* 调整部件的布局*/ Widget_SetAlign(age_label, ALIGN_MIDDLE_CENTER, Pos(0,-40)); Widget_SetAlign(button, ALIGN_MIDDLE_CENTER, Pos(0,60)); Widget_SetAlign(age_rb[0], ALIGN_MIDDLE_LEFT, Pos(5,-20)); Widget_SetAlign(age_rb[1], ALIGN_MIDDLE_LEFT, Pos(100,-20)); Widget_SetAlign(age_rb[2], ALIGN_MIDDLE_LEFT, Pos(200,-20)); Widget_SetAlign(age_rb[3], ALIGN_MIDDLE_LEFT, Pos(5,0)); Widget_SetAlign(age_rb[4], ALIGN_MIDDLE_LEFT, Pos(100,0)); Widget_SetAlign(age_rb[5], ALIGN_MIDDLE_LEFT, Pos(200,0)); Label_Text(age_label, "你的年龄段是?"); RadioButton_CreateMutex(age_rb[0], age_rb[1]); RadioButton_CreateMutex(age_rb[0], age_rb[2]); RadioButton_CreateMutex(age_rb[0], age_rb[3]); RadioButton_CreateMutex(age_rb[0], age_rb[4]); RadioButton_CreateMutex(age_rb[0], age_rb[5]); /* 显示部件 */ Widget_Show(age_label); Widget_Show(button); Widget_Show(age_rb[0]); for(i=0; i<6; ++i) { Widget_Show(age_rb[i]); } Widget_Show(window); Widget_ConnectEvent( button, EVENT_CLICKED, view_result ); Widget_ConnectEvent( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); LCUI_Main(); return 0; }
int main( int argc, char **argv ) { LCUI_Widget w, root, text; LCUI_Graph desktop_image; InitConsoleWindow(); LCUI_Init(); LCUIDisplay_SetMode( LDM_WINDOWED ); LCUIDisplay_SetSize( 960, 540 ); w = LCUIWidget_New("debug-widget"); text = LCUIWidget_New("textview"); Widget_Append( w, text ); TextView_SetTextW( text, L"测试文本内容,呵呵达!\nABCDEFG,abcdefg,[color=#ff0000]color font[/color]"); Widget_Top( w ); Widget_Show( w ); Widget_Resize( w, 320, 240 ); Widget_Move( w, 200, 200 ); Widget_SetTitleW( w, L"测试" ); Graph_Init( &desktop_image ); Graph_LoadImage( "images/background-image.png", &desktop_image ); root = LCUIWidget_GetRoot(); Widget_PullStyle( root, WSS_BACKGROUND ); root->style.background.color = RGB(255,242,223); root->style.background.image = desktop_image; root->style.background.size.using_value = TRUE; root->style.background.size.value = SV_COVER; Widget_PushStyle( root, WSS_BACKGROUND ); Widget_PullStyle( w, WSS_BACKGROUND | WSS_SHADOW | WSS_BORDER ); w->style.background.color.value = 0xccffffff; w->style.background.size.w.scale = 0.50; w->style.background.size.h.px = 200; w->style.background.size.w.type = SVT_SCALE; w->style.background.size.h.type = SVT_PX; w->style.background.size.using_value = FALSE; w->style.background.position.using_value = TRUE; w->style.background.position.value = SV_BOTTOM_CENTER; w->style.shadow.color = ARGB(200,0,122,204); w->style.shadow.x = 2; w->style.shadow.y = 2; w->style.shadow.spread = 0; w->style.shadow.blur = 8; w->style.border.top.width = 1; w->style.border.right.width = 1; w->style.border.bottom.width = 1; w->style.border.left.width = 1; w->style.border.top.color = RGB(0,122,204); w->style.border.right.color = RGB(0,122,204); w->style.border.bottom.color = RGB(0,122,204); w->style.border.left.color = RGB(0,122,204); Widget_PushStyle( w, WSS_BACKGROUND | WSS_SHADOW | WSS_BORDER ); //LCUITimer_Set( 5000, onTimer, NULL, TRUE ); return LCUI_Main(); }
int main( int argc, char **argv ) { int i; LCUI_Init(0,0,0); /* 创建部件 */ window = Widget_New("window"); label = Widget_New("label"); button = Widget_New("button"); for(i=0; i<5; ++i) { checkbox[i] = Widget_New("check_box"); } CheckBox_TextW( checkbox[0], L"编程" ); CheckBox_TextW( checkbox[1], L"电影" ); CheckBox_TextW( checkbox[2], L"动漫" ); CheckBox_TextW( checkbox[3], L"音乐" ); CheckBox_TextW( checkbox[4], L"睡觉" ); Button_TextW( button, L"提交" ); Window_SetTitleTextW( window, L"测试复选框部件") ; window->resize(window, Size(320, 240)); /* 禁用按钮部件的自动尺寸调整,因为要自定义尺寸 */ Widget_SetAutoSize( button, FALSE, 0 ); Widget_Resize(button, Size(60, 25)); /* 将窗口客户区作为这些部件的容器 */ Window_ClientArea_Add(window, label); Window_ClientArea_Add(window, button); for(i=0; i<5; i++) { Window_ClientArea_Add(window, checkbox[i]); } /* 调整部件的布局*/ Widget_SetAlign(label, ALIGN_MIDDLE_CENTER, Pos(0,-20)); Widget_SetAlign(button, ALIGN_MIDDLE_CENTER, Pos(0,60)); Widget_SetAlign(checkbox[0], ALIGN_MIDDLE_CENTER, Pos(-120 ,5)); Widget_SetAlign(checkbox[1], ALIGN_MIDDLE_CENTER, Pos(-60 ,5)); Widget_SetAlign(checkbox[2], ALIGN_MIDDLE_CENTER, Pos(0 ,5)); Widget_SetAlign(checkbox[3], ALIGN_MIDDLE_CENTER, Pos(60 ,5)); Widget_SetAlign(checkbox[4], ALIGN_MIDDLE_CENTER, Pos(120 ,5)); Label_TextW(label, L"你都有哪些兴趣爱好?\n"); /* 显示部件 */ Widget_Show(label); Widget_Show(button); for(i=0; i<5; ++i) { Widget_Show(checkbox[i]); } Widget_Show(window); /* 为按钮部件关联点击事件,被关联的函数是view_result,它会在点击按钮后被调用 */ Widget_ConnectEvent( button, EVENT_CLICKED, view_result ); Widget_ConnectEvent( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); return LCUI_Main(); }
int main(int argc,char*argv[]) { /* 声明几个部件 */ LCUI_Widget *window, *label, *logo, *img; int width, height; /* 自定义默认字体文件位置 */ //Set_Default_Font("msyh.ttf"); /* 初始化LCUI */ LCUI_Init(argc, argv); /* 创建一个LCUI程序窗口 */ width = 320;//Get_Screen_Width(); /* 窗口的宽度 */ height = 240;//Get_Screen_Height();; /* 窗口的高度 */ /* 创建部件 */ window = Create_Widget("window"); label = Create_Widget("label"); logo = Create_Widget("picture_box"); img = Create_Widget("picture_box"); //Set_Widget_Border_Style(window, BORDER_STYLE_NONE); Resize_Widget(img, Size(180, 180)); Resize_Widget(logo, Size(128,128)); Resize_Widget(window, Size(width, height)); Set_Window_Title_Text(window, "LCUI"); Set_Widget_Backcolor(window, RGB(94,200,255)); Set_PictureBox_Size_Mode(logo, SIZE_MODE_CENTER); Set_PictureBox_Image_From_File(logo, "logo_128x128.png"); Set_Label_Text(label, "LCUI 正在载入..."); Set_Label_Font(label, 15, NULL); Set_Widget_Align(logo, ALIGN_MIDDLE_CENTER, Pos(0, -20)); Set_Widget_Align(label, ALIGN_MIDDLE_CENTER, Pos(0, +70)); /* 将这三个部件放入窗口客户区中 */ Window_Client_Area_Add(window, label); Window_Client_Area_Add(window, img); Window_Client_Area_Add(window, logo); pthread_t t; LCUI_Thread_Create(&t, NULL, change_graph, (void*)img); /* 显示部件以及窗口 */ Show_Widget(label); Show_Widget(logo); Show_Widget(window); LCUI_Main(); /* 进入主循环 */ return 0; }
int main(int argc,char*argv[]) /* 主函数,程序的入口 */ { LCUI_Widget *window, *label, *pic_box, *fore_box; /* 使用指向widget部件的指针 */ int width, height; /* 自定义默认字体文件位置 */ //Set_Default_Font("msyh.ttf"); /* 初始化LCUI */ LCUI_Init(argc, argv); /* 创建一个LCUI程序窗口 */ width = 320; /* 窗口的宽度 */ height = 240; /* 窗口的高度 */ /* 创建部件 */ window = Create_Widget("window"); label = Create_Widget("label"); pic_box = Create_Widget("picture_box"); fore_box = Create_Widget("picture_box"); Resize_Widget(fore_box, Size(190, 190)); Resize_Widget(pic_box, Size(135,135)); Resize_Widget(window, Size(width, height)); Set_Window_Title_Text(window, "头像"); LCUI_Graph pic; Graph_Init(&pic); Set_PictureBox_Size_Mode(pic_box, SIZE_MODE_STRETCH); Set_PictureBox_Image_From_File(pic_box, "image.jpg"); Set_PictureBox_Image_From_File(fore_box, "border.png"); Set_Label_Text(label, "蛋疼的头像"); Set_Label_Font(label, 16, NULL); Set_Widget_Align(pic_box, ALIGN_MIDDLE_CENTER, Pos(0, -20)); Set_Widget_Align(fore_box, ALIGN_MIDDLE_CENTER, Pos(0, -20)); Set_Widget_Align(label, ALIGN_MIDDLE_CENTER, Pos(0, +75)); Window_Client_Area_Add(window, label); Window_Client_Area_Add(window, pic_box); Window_Client_Area_Add(window, fore_box); Show_Widget(label); Show_Widget(pic_box); Show_Widget(fore_box); Show_Widget(window); return LCUI_Main(); }
int main(void) { int i; char text[5][10] = { "蓝色","绿色", "红色", "橙色", "紫色" }; LCUI_Pos offset_pos[5]={{-120,0},{-60,0},{0,0},{60,0},{120,0}}; LCUI_Init(); main_window = Widget_New( "window" ); btn_ok = Widget_New( "button" ); label = Widget_New( "label" ); /* 设置窗口的尺寸以及标题栏文本 */ Widget_Resize( main_window, Size(320, 240) ); Window_SetTitleText( main_window, "测试窗口的风格切换" ); /* 创建5个单选框部件 */ for(i=0; i<5; ++i) { rdbtn[i] = Widget_New( "radio_button" ); Window_ClientArea_Add( main_window, rdbtn[i] ); Widget_SetAlign( rdbtn[i], ALIGN_MIDDLE_CENTER, offset_pos[i] ); RadioButton_Text( rdbtn[i], text[i] ); Widget_Show( rdbtn[i] ); } /* 为单选框建立互斥关系 */ RadioButton_CreateMutex(rdbtn[0], rdbtn[1]); RadioButton_CreateMutex(rdbtn[0], rdbtn[2]); RadioButton_CreateMutex(rdbtn[0], rdbtn[3]); RadioButton_CreateMutex(rdbtn[0], rdbtn[4]); RadioButton_SetOn( rdbtn[0] ); /* 禁用按钮部件的自动尺寸调整 */ Widget_SetAutoSize( btn_ok, FALSE, 0 ); Widget_Resize( btn_ok, Size(100, 30) ); /* 将部件加入窗口客户区 */ Window_ClientArea_Add( main_window, btn_ok ); Window_ClientArea_Add( main_window, label ); /* 设置部件的布局 */ Widget_SetAlign( btn_ok, ALIGN_MIDDLE_CENTER, Pos(0,50) ); Widget_SetAlign( label, ALIGN_MIDDLE_CENTER, Pos(0,-50) ); /* 设置部件的文本 */ Button_Text( btn_ok, "应用" ); Label_Text( label, "选择窗口配色:" ); /* 为按钮的点击事件关联回调函数 */ Widget_Event_Connect( btn_ok, EVENT_CLICKED, switch_style ); Widget_Event_Connect( Window_GetCloseButton(main_window), EVENT_CLICKED, destroy ); /* 显示部件 */ Widget_Show( btn_ok ); Widget_Show( label ); Widget_Show( main_window ); /* 进入主循环 */ return LCUI_Main(); }
int main(void) { LCUI_Widget *window; LCUI_Thread t; setenv( "LCUI_FONTFILE", "../../fonts/msyh.ttf", FALSE ); LCUI_Init(); window = Widget_New("window"); Widget_Resize(window, Size(320, 320)); Window_SetTitleText(window, "时钟"); LCUIThread_Create(&t, update_clock, (void*)window); Widget_Event_Connect(Window_GetCloseButton(window), EVENT_CLICKED, destroy); Widget_Show(window); return LCUI_Main(); }
int main(int argc, char*argv[]) { /* 目前传递给LCUI_Init()函数的参数没用,以后会完善,比如指定字体路径,是否显示鼠标游标等 */ 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); /* 改变窗口的尺寸 */ 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> 表示的是:“文字”将使用自定义颜色 * Set_Label_Text函数使用方法和sprintf函数基本一样,支持控制符 **/ Set_Label_Text(label, "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部件的字体大小,单位为pixel(像素),不是pt(点数) * 第三个参数是自定义使用的字体文件,我设定为NULL,表示不使用。 **/ Set_Label_Font(label, 24, NULL); /* 显示部件 */ label->show(label); window->show(window); return LCUI_Main(); /* 进入主循环 */ }
int main(int argc, char **argv) { int i; LCUI_Pos offset; wchar_t text[3][40] = { L"默认模式",L"全屏模式,800x600 分辨率", L"窗口模式,800x600 窗口"}; LCUI_Init(0,0,0); main_window = Widget_New( "window" ); btn_ok = Widget_New( "button" ); label = Widget_New( "label" ); /* 设置窗口的尺寸以及标题栏文本 */ Widget_Resize( main_window, Size(320, 240) ); Window_SetTitleTextW( main_window, L"测试视频模式的切换" ); offset.x = 20; /* 创建3个单选框部件 */ for(offset.y=-22,i=0; i<3; ++i,offset.y+=22) { rdbtn[i] = Widget_New( "radio_button" ); Window_ClientArea_Add( main_window, rdbtn[i] ); Widget_SetAlign( rdbtn[i], ALIGN_MIDDLE_LEFT, offset ); RadioButton_TextW( rdbtn[i], text[i] ); Widget_Show( rdbtn[i] ); } /* 为单选框建立互斥关系 */ RadioButton_CreateMutex(rdbtn[0], rdbtn[1]); RadioButton_CreateMutex(rdbtn[0], rdbtn[2]); RadioButton_SetOn( rdbtn[0] ); /* 禁用按钮部件的自动尺寸调整 */ Widget_SetAutoSize( btn_ok, FALSE, 0 ); Widget_Resize( btn_ok, Size(100, 30) ); /* 将部件加入窗口客户区 */ Window_ClientArea_Add( main_window, btn_ok ); Window_ClientArea_Add( main_window, label ); /* 设置部件的布局 */ Widget_SetAlign( btn_ok, ALIGN_MIDDLE_CENTER, Pos(0,70) ); Widget_SetAlign( label, ALIGN_MIDDLE_CENTER, Pos(0,-50) ); /* 设置部件的文本 */ Button_TextW( btn_ok, L"应用" ); Label_TextW( label, L"选择视频模式:" ); /* 为按钮的点击事件关联回调函数 */ Widget_ConnectEvent( btn_ok, EVENT_CLICKED, switch_style ); Widget_ConnectEvent( Window_GetCloseButton(main_window), EVENT_CLICKED, destroy ); /* 显示部件 */ Widget_Show( btn_ok ); Widget_Show( label ); Widget_Show( main_window ); /* 进入主循环 */ return LCUI_Main(); }
int main( int argc, char **argv ) { LCUI_Widget root, pack, btn; LCUI_Init(); root = LCUIWidget_GetRoot(); pack = LCUIBuilder_LoadFile( "helloworld.xml" ); if( !pack ) { return -1; } Widget_Append( root, pack ); Widget_Unwrap( pack ); btn = LCUIWidget_GetById( "btn" ); Widget_BindEvent( btn, "click", OnBtnClick, NULL, NULL ); return LCUI_Main(); }
int main( int argc, char **argv ) { LCUI_Widget root, box; #ifdef LCUI_BUILD_IN_WIN32 InitConsoleWindow(); #endif LCUI_Init(); LCUIDisplay_SetMode( LDM_WINDOWED ); LCUIDisplay_SetSize( 960, 540 ); box = LCUIBuilder_LoadFile("hello.xml"); if( box ) { root = LCUIWidget_GetRoot(); Widget_Append( root, box ); Widget_Unwrap( &box ); } return LCUI_Main(); }
int main( int argc, char*argv[] ) { LCUI_Graph pic; int width = 320, height = 240; LCUI_Widget *window, *label, *pic_box, *fore_box; LCUI_Init(); Graph_Init(&pic); window = Widget_New("window"); label = Widget_New("label"); pic_box = Widget_New("picture_box"); fore_box = Widget_New("picture_box"); Widget_Resize(fore_box, Size(190, 190)); Widget_Resize(pic_box, Size(135,135)); Widget_Resize(window, Size(width, height)); Window_SetTitleText(window, "头像"); PictureBox_SetSizeMode(pic_box, SIZE_MODE_STRETCH); PictureBox_SetImageFile(pic_box, "image.jpg"); PictureBox_SetImageFile(fore_box, "border.png"); Label_Text(label, "蛋疼的头像"); Widget_SetAlign(pic_box, ALIGN_MIDDLE_CENTER, Pos(0, -20)); Widget_SetAlign(fore_box, ALIGN_MIDDLE_CENTER, Pos(0, -20)); Widget_SetAlign(label, ALIGN_MIDDLE_CENTER, Pos(0, +75)); Window_ClientArea_Add(window, label); Window_ClientArea_Add(window, pic_box); Window_ClientArea_Add(window, fore_box); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); Widget_Show(label); Widget_Show(pic_box); Widget_Show(fore_box); Widget_Show(window); return LCUI_Main(); }
int test_widget_inline_block_layout( void ) { int ret = 0; LCUI_Widget root, pack; LCUI_Init(); TEST_LOG( "test widget inline block layout\n" ); LCUIDisplay_SetSize( SCREEN_WIDTH, SCREEN_HEIGHT ); root = LCUIWidget_GetRoot(); CHECK( pack = LCUIBuilder_LoadFile( "test_widget_inline_block_layout.xml" ) ); if( !pack ) { LCUI_Destroy(); return ret; } Widget_UpdateStyle( root, TRUE ); Widget_Append( root, pack ); Widget_Unwrap( pack ); LCUIWidget_Update(); ret += check_layout(); LCUI_Destroy(); return ret; }
int test_xml_parser( void ) { int ret = 0; LCUI_Widget root, pack; LCUI_Init(); TEST_LOG( "test widget layout\n" ); LCUIDisplay_SetSize( 960, 680 ); root = LCUIWidget_GetRoot(); CHECK( pack = LCUIBuilder_LoadFile( "test_xml_parser.xml" ) ); if( !pack ) { LCUI_Destroy(); return ret; } Widget_UpdateStyle( root, TRUE ); Widget_Append( root, pack ); Widget_Unwrap( pack ); LCUIWidget_Update(); ret += check_widget_attribute(); LCUI_Destroy(); return ret; }
int main(int argc, char **argv) { LCUI_Thread thread; LCUI_Widget *window, *progbar; LCUI_Init(800,600,0); window = Widget_New("window"); progbar = Widget_New("progress_bar"); Window_SetTitleTextW(window, L"测试进度条部件"); Widget_Resize(window, Size(320, 240)); Window_ClientArea_Add(window, progbar); Widget_SetAlign(progbar, ALIGN_MIDDLE_CENTER, Pos(0,0)); Widget_Resize(progbar, Size(300, 25)); LCUIThread_Create(&thread, change_progress, (void*)progbar); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); Widget_Show(progbar); Widget_Show(window); return LCUI_Main(); }
int main(void) { LCUI_Thread t; LCUI_Widget *window, *widget; LCUI_Init(); window = Widget_New( "window" ); widget = Widget_New( NULL ); Window_SetTitleText( window, "测试部件布局-1" ); Window_ClientArea_Add( window, widget ); Widget_Resize( widget, Size(120, 120) ); Widget_Resize( window, Size(320, 240) ); Widget_SetBackgroundTransparent( widget, FALSE ); Widget_SetBorder( widget, Border(1, BORDER_STYLE_SOLID, RGB(0,0,0)) ); Widget_SetBackgroundColor( widget, RGB(255,0,0) ); Widget_Show( widget ); Widget_Show( window ); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); LCUIThread_Create( &t, thread, widget ); return LCUI_Main(); }
int main(int argc, char*argv[]) /* 主函数,程序的入口 */ { LCUI_Init(argc, argv); LCUI_Widget *w1, *w2, *w3; /* 创建部件 */ w1 = Create_Widget("window"); w2 = Create_Widget("window"); w3 = Create_Widget("window"); /* 改变窗口的尺寸 */ Resize_Widget(w1, Size(320, 240)); Resize_Widget(w2, Size(200, 140)); Resize_Widget(w3, Size(120, 100)); Set_Window_Title_Text(w1, "窗口1"); Set_Window_Title_Text(w2, "窗口2"); Set_Window_Title_Text(w3, "窗口3"); Window_Client_Area_Add(w2, w3); Window_Client_Area_Add(w1, w2); Show_Widget(w1); Show_Widget(w2); Show_Widget(w3); LCUI_Main(); /* 进入主循环 */ return 0; }
int main(void) { int i, x, y = 3; LCUI_Init(); window = Window_New( "测试MessageBox", NULL, Size(320,240) ); label_btn = Widget_New( "label" ); label_icon = Widget_New( "label" ); btn = Widget_New( "button" ); Window_ClientArea_Add( window, label_btn ); Label_Text( label_btn, "请选择按钮类型:" ); Widget_Move( label_btn, Pos(5,y) ); Widget_Show( label_btn ); for(i=0; i<6; ++i) { rb_btn[i] = RadioButton_New( rb_btn_text[i] ); if( i>0 ) { RadioButton_CreateMutex( rb_btn[0], rb_btn[i] ); } else { RadioButton_SetOn( rb_btn[0] ); } Window_ClientArea_Add( window, rb_btn[i] ); y += 16; Widget_Move( rb_btn[i], Pos(5,y) ); Widget_Show( rb_btn[i] ); } y += 16; Window_ClientArea_Add( window, label_icon ); Label_Text( label_icon, "请选择图标类型:" ); Widget_Move( label_icon, Pos(5,y) ); Widget_Show( label_icon ); for(i=0; i<5; ++i) { rb_icon[i] = RadioButton_New( rb_icon_text[i] ); if( i>0 ) { RadioButton_CreateMutex( rb_icon[0], rb_icon[i] ); } else { RadioButton_SetOn( rb_icon[0] ); } Window_ClientArea_Add( window, rb_icon[i] ); /* 计算当前单选框的坐标 */ if(i%2 == 0) { y += 16; x = 5; } else { x = 150; } Widget_Move( rb_icon[i], Pos(x,y) ); Widget_Show( rb_icon[i] ); } Button_Text( btn, "显示MessageBox" ); Widget_SetAlign( btn, ALIGN_BOTTOM_CENTER, Pos(0,-3) ); Widget_Resize( btn, Size(80, 20) ); Window_ClientArea_Add( window, btn ); Widget_Show( btn ); Widget_Event_Connect( btn, EVENT_CLICKED, show_msgbox ); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, program_quit ); Widget_Show( window ); return LCUI_Main(); }
int main(int argc, char*argv[]) { int mode; LCUI_Widget *window, *text[2], *tb_username, *tb_password; LCUI_Widget *area, *login_btn; LCUI_Widget *fore_pb, *back_pb; LCUI_Init(argc, argv); /* 创建所需的部件 */ window = Create_Widget("window"); area = Create_Widget(NULL); tb_password = Create_Widget("text_box"); tb_username = Create_Widget("text_box"); text[0] = Create_Widget("label"); text[1] = Create_Widget("label"); fore_pb = Create_Widget("picture_box"); back_pb = Create_Widget("picture_box"); login_btn = Create_Widget("button"); /* 设置界面上显示的文本 */ Set_Window_Title_Text(window, "用户登录"); Label_Text( text[0], "帐号:" ); Label_Text( text[1], "密码:" ); Set_Button_Text( login_btn, "登录" ); /* 调整部件的尺寸 */ Resize_Widget( login_btn, Size(50, 50) ); Resize_Widget( window, Size(320, 240) ); Resize_Widget( back_pb, Size(128, 128)); Resize_Widget( fore_pb, Size(95,95)); Resize_Widget( area, Size(225,50) ); /* 设置这两个图片框内显示的图片 */ Set_PictureBox_Size_Mode( back_pb, SIZE_MODE_STRETCH ); Set_PictureBox_Size_Mode( fore_pb, SIZE_MODE_STRETCH ); Set_PictureBox_Image_From_File( back_pb, "faceback.png" ); Set_PictureBox_Image_From_File( fore_pb, "image.jpg" ); /* 限制文本框内的字符总数为32个 */ TextBox_Text_Set_MaxLength( tb_username, 32 ); TextBox_Text_Set_MaxLength( tb_password, 32 ); tb_password->resize( tb_password, Size(125, 22) ); TextBox_Text_Set_PasswordChar( tb_password, L'●' ); /* 限制文本框输入的字符 */ mode = ONLY_0_TO_9 | ONLY_A_TO_Z | ONLY_a_TO_z | ONLY_UNDERLINE; TextBox_Text_Limit( tb_username, mode ); tb_username->resize( tb_username, Size(125, 22) ); /* 将部件添加至相应的容器中 */ Widget_Container_Add( area, text[0] ); Widget_Container_Add( area, text[1] ); Widget_Container_Add( area, login_btn ); Widget_Container_Add( back_pb, fore_pb ); Widget_Container_Add( area, tb_username ); Widget_Container_Add( area, tb_password ); Window_Client_Area_Add( window, back_pb ); Window_Client_Area_Add( window, area ); /* 设置部件的布局 */ area->set_align( area, ALIGN_MIDDLE_CENTER, Pos(0,60) ); login_btn->set_align( login_btn, ALIGN_MIDDLE_RIGHT, Pos(0,0) ); back_pb->set_align( fore_pb, ALIGN_MIDDLE_CENTER, Pos(-2,-2) ); back_pb->set_align( back_pb, ALIGN_MIDDLE_CENTER, Pos(0,-35) ); text[0]->set_align( text[0], ALIGN_MIDDLE_LEFT, Pos(0,-12) ); text[1]->set_align( text[1], ALIGN_MIDDLE_LEFT, Pos(0,12) ); tb_username->set_align( tb_username, ALIGN_MIDDLE_LEFT, Pos(35,-12) ); tb_password->set_align( tb_password, ALIGN_MIDDLE_LEFT, Pos(35,12) ); /* 设置边框 */ Set_Widget_Border( fore_pb, RGB(120,120,120), Border(1,1,1,1) ); /* 显示这些部件 */ Show_Widget( back_pb ); Show_Widget( fore_pb ); Show_Widget( login_btn ); Show_Widget( area ); tb_password->show( tb_password ); tb_username->show( tb_username ); text[0]->show( text[0] ); text[1]->show( text[1] ); window->show( window ); /* 进入主循环 */ return LCUI_Main(); }