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 ) { int i; wchar_t text[5][10] = { L"蓝色", L"绿色", L"红色", L"橙色", L"紫色" }; LCUI_Pos offset_pos[5]={{-120,0},{-60,0},{0,0},{60,0},{120,0}}; 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"测试窗口的风格切换" ); /* 创建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_TextW( 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_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(); }
void GameWindow_InitLicenseWindow(void) { window = Widget_New("window"); label_license = Widget_New("label"); textbox_license = Widget_New("text_box"); box = Widget_New(NULL); btn_ok = Widget_New("button"); Window_ClientArea_Add( window, label_license ); Window_ClientArea_Add( window, box ); Window_ClientArea_Add( window, btn_ok ); Widget_Container_Add( box, textbox_license ); Widget_SetBackgroundColor( label_license, RGB(255,255,255) ); Widget_SetBackgroundTransparent( label_license, FALSE ); Widget_SetAlign( label_license, ALIGN_TOP_CENTER, Pos(0,0) ); Widget_SetAlign( box, ALIGN_TOP_CENTER, Pos(0,8) ); Widget_SetAlign( btn_ok, ALIGN_BOTTOM_CENTER, Pos(0,-5) ); Label_TextW( label_license, TEXT_LICENSE ); Button_TextW( btn_ok, TEXT_OK ); TextBox_SetAutoWrap( textbox_license, TRUE ); TextBox_SetMultiline( textbox_license, TRUE ); TextBox_SetReadOnly( textbox_license, TRUE ); TextBox_SetUsingStyleTags( textbox_license, TRUE ); TextBox_TextW( textbox_license, license_text ); TextBox_ShowCursor( textbox_license, FALSE ); Widget_SetStyleID( window, WINDOW_STYLE_LINE ); Widget_SetPadding( Window_GetClientArea(window), Padding(10,10,10,10) ); Widget_SetAutoSize( btn_ok, FALSE, 0 ); Widget_SetBorder( box, Border(1,BORDER_STYLE_SOLID,RGB(200,200,200)) ); Widget_SetPadding( box, Padding(10,10,10,10) ); Widget_SetSize( box, "100%", "280px" ); Widget_SetSize( textbox_license, "100%", "100%" ); Widget_Resize( window, WINDOW_SIZE ); Widget_Resize( btn_ok, BTN_SIZE ); Widget_ConnectEvent( btn_ok, EVENT_CLICKED, btn_ok_on_clicked ); Widget_Show( textbox_license ); Widget_Show( box ); Widget_Show( label_license ); Widget_Show( btn_ok ); }
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(); }
/** 更新按钮上显示的按键文字 */ static void UpdateKeyBtn(void) { ControlKey ctrlkey; wchar_t btn_text[24], buff_text[12]; GameConfig_GetKeyControl( &ctrlkey ); GetKeyText( ctrlkey.left, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_left, btn_text ); GetKeyText( ctrlkey.right, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_right, btn_text ); GetKeyText( ctrlkey.up, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_up, btn_text ); GetKeyText( ctrlkey.down, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_down, btn_text ); GetKeyText( ctrlkey.a_attack, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_a_atk, btn_text ); GetKeyText( ctrlkey.b_attack, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_b_atk, btn_text ); GetKeyText( ctrlkey.defense, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_defense, btn_text ); GetKeyText( ctrlkey.jump, buff_text ); swprintf( btn_text, sizeof(btn_text), L"<size=18px>%s</size>", buff_text ); Button_TextW( btn_jump, btn_text ); }
/** 初始化键位设置窗口 */ void GameWindow_InitSetKeyboardWindow(void) { /* 创建所需的GUI部件 */ window = Widget_New("window"); box = Widget_New(NULL); label = Widget_New("label"); label_left = Widget_New("label"); label_right = Widget_New("label"); label_up = Widget_New("label"); label_down = Widget_New("label"); label_jump = Widget_New("label"); label_defense = Widget_New("label"); label_a_atk = Widget_New("label"); label_b_atk = Widget_New("label"); btn_left = Widget_New("button"); btn_right = Widget_New("button"); btn_up = Widget_New("button"); btn_down = Widget_New("button"); btn_a_atk = Widget_New("button"); btn_b_atk = Widget_New("button"); btn_jump = Widget_New("button"); btn_defense = Widget_New("button"); btn_ok = Widget_New("button"); btn_reset = Widget_New("button"); Widget_Container_Add( box, btn_left ); Widget_Container_Add( box, btn_right ); Widget_Container_Add( box, btn_up ); Widget_Container_Add( box, btn_down ); Widget_Container_Add( box, btn_jump ); Widget_Container_Add( box, btn_defense ); Widget_Container_Add( box, btn_a_atk ); Widget_Container_Add( box, btn_b_atk ); Widget_Container_Add( box, label_left ); Widget_Container_Add( box, label_right ); Widget_Container_Add( box, label_up ); Widget_Container_Add( box, label_down ); Widget_Container_Add( box, label_jump ); Widget_Container_Add( box, label_defense ); Widget_Container_Add( box, label_a_atk ); Widget_Container_Add( box, label_b_atk ); Window_ClientArea_Add( window, box ); Window_ClientArea_Add( window, label ); Window_ClientArea_Add( window, btn_ok ); Window_ClientArea_Add( window, btn_reset ); Widget_SetAutoSize( btn_left, FALSE, 0 ); Widget_SetAutoSize( btn_right, FALSE, 0 ); Widget_SetAutoSize( btn_up, FALSE, 0 ); Widget_SetAutoSize( btn_down, FALSE, 0 ); Widget_SetAutoSize( btn_jump, FALSE, 0 ); Widget_SetAutoSize( btn_a_atk, FALSE, 0 ); Widget_SetAutoSize( btn_b_atk, FALSE, 0 ); Widget_SetAutoSize( btn_defense, FALSE, 0 ); Widget_SetAutoSize( btn_ok, FALSE, 0 ); Widget_Resize( btn_left, KEYBTN_SIZE ); Widget_Resize( btn_right, KEYBTN_SIZE ); Widget_Resize( btn_up, KEYBTN_SIZE ); Widget_Resize( btn_down, KEYBTN_SIZE ); Widget_Resize( btn_jump, KEYBTN_SIZE ); Widget_Resize( btn_a_atk, KEYBTN_SIZE ); Widget_Resize( btn_b_atk, KEYBTN_SIZE ); Widget_Resize( btn_defense, KEYBTN_SIZE ); Widget_Resize( btn_ok, BTN_SIZE ); Widget_Resize( btn_reset, BTN_SIZE ); Widget_Move( btn_left, Pos(0,50+22) ); Widget_Move( btn_right, Pos(100,50+22) ); Widget_Move( btn_up, Pos(50,0+22) ); Widget_Move( btn_down, Pos(50,50+22) ); Widget_Move( btn_jump, Pos(200,50+22) ); Widget_Move( btn_a_atk, Pos(200,0+22) ); Widget_Move( btn_b_atk, Pos(250,0+22) ); Widget_Move( btn_defense, Pos(250,50+22) ); Widget_Move( label_left, Pos(10,125) ); Widget_Move( label_right, Pos(110,125) ); Widget_Move( label_up, Pos(60,0) ); Widget_Move( label_down, Pos(60,125) ); Widget_Move( label_a_atk, Pos(210,0) ); Widget_Move( label_b_atk, Pos(260,0) ); Widget_Move( label_jump, Pos(210,125) ); Widget_Move( label_defense, Pos(260,125) ); UpdateKeyBtn(); /* 设置各种文本 */ Label_TextW( label_left, TEXT_LEFT ); Label_TextW( label_right, TEXT_RIGHT ); Label_TextW( label_up, TEXT_UP ); Label_TextW( label_down, TEXT_DOWN ); Label_TextW( label_jump, TEXT_JUMP ); Label_TextW( label_defense, TEXT_DEFENSE ); Label_TextW( label_a_atk, TEXT_A_ATK ); Label_TextW( label_b_atk, TEXT_B_ATK ); /* 设置窗口 */ Widget_SetStyleID( window, WINDOW_STYLE_LINE ); Widget_Resize( window, WINDOW_SIZE ); Widget_SetPadding( Window_GetClientArea(window), Padding(10,10,10,10) ); Label_TextW( label, TEXT_SET_KEYBOARD ); Widget_SetBackgroundColor( label, RGB(255,255,255) ); Widget_SetBackgroundTransparent( label, FALSE ); Button_TextW( btn_ok, TEXT_OK ); Button_TextW( btn_reset, TEXT_RESET ); Widget_SetSize( box, "100%", "165px" ); Widget_SetBorder( box, Border(1,BORDER_STYLE_SOLID,RGB(200,200,200)) ); Widget_SetPadding( box, Padding(10,10,10,10) ); Widget_SetAlign( box, ALIGN_TOP_CENTER, Pos(0,12) ); Widget_SetAlign( label, ALIGN_TOP_CENTER, Pos(0,0) ); Widget_SetAlign( btn_ok, ALIGN_BOTTOM_CENTER, Pos(-50,-5) ); Widget_SetAlign( btn_reset, ALIGN_BOTTOM_CENTER, Pos(50,-5) ); /* 为键位按钮连接事件 */ Widget_ConnectEvent( btn_ok, EVENT_CLICKED, btn_ok_on_clicked ); Widget_ConnectEvent( btn_reset, EVENT_CLICKED, btn_reset_on_clicked ); Widget_ConnectEvent( btn_left, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_right, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_up, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_down, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_b_atk, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_a_atk, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_jump, EVENT_CLICKED, btn_key_on_clicked ); Widget_ConnectEvent( btn_defense, EVENT_CLICKED, btn_key_on_clicked ); Widget_Show( btn_left ); Widget_Show( btn_right ); Widget_Show( btn_up ); Widget_Show( btn_down ); Widget_Show( btn_jump ); Widget_Show( btn_a_atk ); Widget_Show( btn_b_atk ); Widget_Show( btn_defense ); Widget_Show( label_left ); Widget_Show( label_right ); Widget_Show( label_up ); Widget_Show( label_down ); Widget_Show( label_jump ); Widget_Show( label_a_atk ); Widget_Show( label_b_atk ); Widget_Show( label_defense ); Widget_Show( btn_ok ); Widget_Show( btn_reset ); Widget_Show( box ); Widget_Show(label ); }